The following program segfaults at run time. gdb does not show a backtrace and
valgrind just has:

==27936== Jump to the invalid address stated on the next line
==27936==    at 0x8: ???
==27936==  Address 0x8 is not stack'd, malloc'd or (recently) free'd

The program is minimal. Removing either the "CALL" or the "ALLOCATE" or "four"
causes non-segfaulting code.

program test
  implicit none
  call one()
contains
  subroutine one()
    integer, allocatable :: a(:)[:,:,:]
    allocate(a(1)[-4:9,8,4:*])
  end subroutine one
  subroutine four(C)
    integer, allocatable :: C(:)[:]
 end subroutine four
end program test


-- 
           Summary: coarrays: Wrong code (segfault) with allocatable
                    coarrays
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: burnus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43931

Reply via email to