http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53824
Bug #: 53824 Summary: ICE with ALLOCATE of coarrays Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: bur...@gcc.gnu.org CC: tkoe...@gcc.gnu.org Test case by VladimĂr Fuka: http://gcc.gnu.org/ml/fortran/2012-06/msg00157.html The ICE is in: #0 0x00000000005b209b in gfc_dep_compare_expr (e1=0x0, e2=0x0) at fortran/dependency.c:254 #1 0x00000000005936f7 in resolve_allocate_deallocate (code=code@entry=0x1671700, fcn=fcn@entry=0xe78399 "ALLOCATE") at fortran/resolve.c:7439 Seemingly the NULL is neither handled in the caller nor in the callee. The check is part of /* Check that an allocate-object appears only once in the statement. FIXME: Checking derived types is disabled. */ ... /* Handle cases like allocate(v(3)%x(3), v(2)%x(3)), which are legal. */ ... if (gfc_dep_compare_expr (par->start[0], qar->start[0]) != 0) (side question: Is the FIXME still valid?) Which has been introduced 2011-01-05 for PR 46017, http://gcc.gnu.org/ml/gcc-cvs/2011-01/msg00123.html