diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/parse.c | 10 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/used_types_18.f90 | 12 |
4 files changed, 28 insertions, 5 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 590258a..9adaf07 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2007-08-26 Tobias Burnus <burnus@net-b.de> + + PR fortran/33188 + * parse.c (parse_derived): Support empty derived type + definitions for Fortran 2003. + 2007-08-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * trans-openmp.c (gfc_omp_privatize_by_reference): Constify. diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index 835b05a..df7f68f 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -1544,11 +1544,11 @@ parse_derived (void) case ST_END_TYPE: compiling_type = 0; - if (!seen_component) - { - gfc_error ("Derived type definition at %C has no components"); - error_flag = 1; - } + if (!seen_component + && (gfc_notify_std (GFC_STD_F2003, "Fortran 2003: Derived type " + "definition at %C without components") + == FAILURE)) + error_flag = 1; accept_statement (ST_END_TYPE); break; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7547f4b..37d280e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-08-26 Tobias Burnus <burnus@net-b.de> + + PR fortran/33188 + * gfortran.dg/used_types_18.f90: New. + 2007-08-25 Jakub Jelinek <jakub@redhat.com> * gcc.dg/array-init-2.c: New test. diff --git a/gcc/testsuite/gfortran.dg/used_types_18.f90 b/gcc/testsuite/gfortran.dg/used_types_18.f90 new file mode 100644 index 0000000..e3dca1f --- /dev/null +++ b/gcc/testsuite/gfortran.dg/used_types_18.f90 @@ -0,0 +1,12 @@ +! { dg do-compile } +! { dg-options "-std=f2003" } +! +! Fortran 2003 allowes TYPE without components +! The error message for -std=f95 is tested in +! gfortran.dg/access_spec_2.f90 +! +! PR fortran/33188 +! +type t +end type +end |