[Bug fortran/53824] New: ICE with ALLOCATE of coarrays

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Jun 30 20:01:00 GMT 2012


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: unassigned@gcc.gnu.org
        ReportedBy: burnus@gcc.gnu.org
                CC: tkoenig@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



More information about the Gcc-bugs mailing list