[Bug fortran/34431] New: type(t) function with imported/use-associated "t" fails
burnus at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Tue Dec 11 11:11:00 GMT 2007
The following program fails with
Error: The derived type 'func' at (1) is of type 't', which has not been
defined
module m
type t
integer :: i = 0
end type t
end module m
module mm
contains
type(t) function func()
use m
end function func
end module mm
And the now following program (correctly) fails with strange error messages:
Error: The derived type 'func2' at (1) is of type '�', which has not
been defined
module bar
end module bar
type(non_exist) function func2()
use bar
end function func2
See also:
PR fortran/31154
PR fortran/31229
PR fortran/33334
and PR 34254
I thought the first bug is fixed by the following diff, but it causes a
regression in gfortran.dg/alloc_comp_basics_1.f90
Index: gcc/fortran/decl.c
===================================================================
--- gcc/fortran/decl.c (revision 130769)
+++ gcc/fortran/decl.c (working copy)
@@ -2271,7 +2288,8 @@ gfc_match_type_spec (gfc_typespec *ts, i
return m;
if (gfc_current_state () == COMP_INTERFACE
- || gfc_current_state () == COMP_NONE)
+ || gfc_current_state () == COMP_NONE
+ || gfc_current_state () == COMP_CONTAINS)
{
gfc_function_type_locus = loc;
ts->type = BT_UNKNOWN;
--
Summary: type(t) function with imported/use-associated "t" fails
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
OtherBugsDependingO 32834
nThis:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34431
More information about the Gcc-bugs
mailing list