The following generates: i_1_mods_bug.f:10.72: END FUNCTION 1 Internal Error at (1): gfc_compare_array_spec(): Array spec clobbered
4.3.0 20080109 (experimental) [trunk revision 131426] (GCC) It works fine if I delete all 3 ENTRY statements. I don't know if the RESULT clause is necessary or not. Dick Hendrickson FUNCTION I_IMFUD0 ( IDA2 , NDS4, NDS3) RESULT(I_IMFUDP) INTEGER :: NDS4, NDS3 INTEGER :: IDA2(5,NDS4,NDS3,2) INTEGER :: I_IMFUDP(SIZE(IDA2,1), SIZE(IDA2,2), $ SIZE(IDA2,NF3), SIZE(IDA2,4)) ENTRY I_IMFUDX (NDS4, NDS3, IDA2) RESULT(I_IMFUDP) ENTRY I_IMFUDY (NDS3, NDS4, IDA2) RESULT(I_IMFUDP) ENTRY I_IMFUDZ (NDS3, IDA2, NDS4) RESULT(I_IMFUDP) I_IMFUDP = 1-IDA2(:,:,:,::NDS4-NDS3) END FUNCTION -- Summary: ICE in function with entry (and result?) Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dick dot hendrickson at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34861