aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorDaniel Franke <franke.daniel@gmail.com>2009-12-10 16:03:40 -0500
committerDaniel Franke <dfranke@gcc.gnu.org>2009-12-10 16:03:40 -0500
commitb94e5176d7e1ed624db4678244e421248421392d (patch)
tree5722d6834512dd86afc9564c3c0eb19b260aa731 /gcc/fortran
parent47cb0d7da16c57888fdc04437530d86f33ee3c1b (diff)
downloadgcc-b94e5176d7e1ed624db4678244e421248421392d.zip
gcc-b94e5176d7e1ed624db4678244e421248421392d.tar.gz
gcc-b94e5176d7e1ed624db4678244e421248421392d.tar.bz2
re PR fortran/41369 (Empty derived-type wrongly rejected as function return type)
2009-12-10 Daniel Franke <franke.daniel@gmail.com> PR fortran/41369 * parse.c (match_deferred_characteristics): Removed check for empty types in function return values. 2009-12-10 Daniel Franke <franke.daniel@gmail.com> PR fortran/41369 * gfortran.dg/func_derived_5.f90: New. From-SVN: r155141
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/parse.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 7280dd7..b1bec37 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,11 @@
2009-12-10 Daniel Franke <franke.daniel@gmail.com>
+ PR fortran/41369
+ * parse.c (match_deferred_characteristics): Removed check for empty
+ types in function return values.
+
+2009-12-10 Daniel Franke <franke.daniel@gmail.com>
+
PR fortran/34402
* expr.c (check_alloc_comp_init): New.
(check_init_expr): Verify that allocatable components
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c
index c5d3548..98d684f 100644
--- a/gcc/fortran/parse.c
+++ b/gcc/fortran/parse.c
@@ -2340,7 +2340,7 @@ match_deferred_characteristics (gfc_typespec * ts)
{
ts->kind = 0;
- if (!ts->u.derived || !ts->u.derived->components)
+ if (!ts->u.derived)
m = MATCH_ERROR;
}