aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2007-08-26 19:59:34 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2007-08-26 19:59:34 +0200
commitc5b9117ecabde0a935e826afff0728b04c1d47c9 (patch)
treedaaf47b4b03c19298aace93c71b5b6fdd54aed77 /gcc
parentb0d6c7d844902d77bb74033bcaccd18155223d19 (diff)
downloadgcc-c5b9117ecabde0a935e826afff0728b04c1d47c9.zip
gcc-c5b9117ecabde0a935e826afff0728b04c1d47c9.tar.gz
gcc-c5b9117ecabde0a935e826afff0728b04c1d47c9.tar.bz2
re PR fortran/33188 (Fortran 2003: Type declarations without componends)
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-26 Tobias Burnus <burnus@net-b.de> PR fortran/33188 * gfortran.dg/used_types_18.f90: New. From-SVN: r127808
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/parse.c10
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/used_types_18.f9012
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