[Bug fortran/49708] [4.5/4.6/4.7 Regression] ICE with allocate and no dimensions
janus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jul 12 12:28:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49708
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2011.07.12 12:27:33
Ever Confirmed|0 |1
--- Comment #2 from janus at gcc dot gnu.org 2011-07-12 12:27:33 UTC ---
(In reply to comment #1)
> In principle, the check is still in resolve.c - the question is: Why doesn't it
> trigger?
Apparently because of the pointer attribute. Changing "pointer" to
"allocatable" in the test case will trigger the error message.
With the following patch one also gets the error message for the pointer case,
but I haven't checked if this breaks anything else:
Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c (revision 175788)
+++ gcc/fortran/resolve.c (working copy)
@@ -6884,7 +6884,7 @@ resolve_allocate_expr (gfc_expr *e, gfc_code *code
gfc_find_derived_vtab (ts.u.derived);
}
- if (pointer || (dimension == 0 && codimension == 0))
+ if (dimension == 0 && codimension == 0)
goto success;
/* Make sure the last reference node is an array specifiction. */
More information about the Gcc-bugs
mailing list