Commit b94e5176 by Daniel Franke Committed by Daniel Franke

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
parent 47cb0d7d
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
......
......@@ -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;
}
......
2009-12-10 Daniel Franke <franke.daniel@gmail.com>
PR fortran/41369
* gfortran.dg/func_derived_5.f90: New.
2009-12-10 Jan Hubicka <jh@suse.cz>
PR middle-end/42110
......
! { dg-do "compile" }
! PR fortran/41369 - rejected empty type in function return values
module m
type t
end type t
end module
type(t) function foo()
use m
foo = t()
end function foo
! { dg-final { cleanup-modules "m" } }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment