This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/29634] New: ICE in variable_decl, for function returning a derived type
- From: "fxcoudert at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Oct 2006 10:45:04 -0000
- Subject: [Bug fortran/29634] New: ICE in variable_decl, for function returning a derived type
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The following gives an ICE:
type foo
integer :: i
end type foo
interface fun_interface
type(foo) function fun()
end function fun
end interface
contains
type(foo) function fun()
end function ieee_class_r4
end
If the return type of the function, type(foo), is replaced by integer, gfortran
issues the following error message:
In file ice.f90:12
integer function fun()
1
In file ice.f90:6
integer function fun()
2
Error: Procedure 'fun' at (1) has an explicit interface and must not have
attributes declared at (2)
In file ice.f90:12
integer function fun()
1
Error: Syntax error in data declaration at (1)
In file ice.f90:13
end function ieee_class_r4
1
Error: Expecting END PROGRAM statement at (1)
The backtrace of the ICE is:
where
#0 0x0000000000412859 in variable_decl (elem=Variable "elem" is not available.
)
at ../../trunk/gcc/fortran/decl.c:1201
#1 0x00000000004130dc in gfc_match_data_decl ()
at ../../trunk/gcc/fortran/decl.c:2356
#2 0x000000000043d713 in match_word (str=Variable "str" is not available.
)
at ../../trunk/gcc/fortran/parse.c:65
#3 0x000000000043dcb8 in decode_statement ()
at ../../trunk/gcc/fortran/parse.c:134
#4 0x000000000043e6ab in next_statement ()
at ../../trunk/gcc/fortran/parse.c:493
#5 0x0000000000440b04 in parse_contained (module=0)
at ../../trunk/gcc/fortran/parse.c:2767
#6 0x0000000000440a8c in parse_progunit (st=Variable "st" is not available.
)
at ../../trunk/gcc/fortran/parse.c:2931
The problem arises because gfc_current_ns->proc_name == NULL.
--
Summary: ICE in variable_decl, for function returning a derived
type
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: ice-on-invalid-code
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org
BugsThisDependsOn: 29539
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29634