https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67451

            Bug ID: 67451
           Summary: ICE with sourced allocation from coarray.
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ian_harvey at bigpond dot com
  Target Milestone: ---

The following, when compiled with trunk r227476, results in a ICE:

  program main
    implicit none
    type foo
      integer :: bar = 99
    end type
    class(foo), allocatable :: foobar[:]
    class(foo), allocatable :: some_local_object
    allocate(foobar[*])
    allocate(some_local_object, source=foobar)
  end program

The ICE is associated with the use of a coarray or coindexed object in the
source expression of the allocate statement.



$ gfortran -v -fcoarray=lib 2015-09-04\ sourced-alloc.f90
Driving: gfortran -v -fcoarray=lib 2015-09-04 sourced-alloc.f90 -l gfortran -l
m -shared-libgcc
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/home/MEGMS2/ian/usr/gcc-6.0.0/libexec/gcc/x86_64-pc-linux-gnu/6.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: .././src/configure --prefix=/home/MEGMS2/ian/usr/gcc-6.0.0
--enable-languages=c,c++,fortran --enable-libgomp --enable-checking=release
Thread model: posix
gcc version 6.0.0 20150903 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-fcoarray=lib' '-shared-libgcc' '-mtune=generic'
'-march=x86-64'
 /home/MEGMS2/ian/usr/gcc-6.0.0/libexec/gcc/x86_64-pc-linux-gnu/6.0.0/f951
2015-09-04 sourced-alloc.f90 -quiet -dumpbase 2015-09-04 sourced-alloc.f90
-mtune=generic -march=x86-64 -auxbase 2015-09-04 sourced-alloc -version
-fcoarray=lib -fintrinsic-modules-path
/home/MEGMS2/ian/usr/gcc-6.0.0/lib/gcc/x86_64-pc-linux-gnu/6.0.0/finclude -o
/tmp/ccX5BIwU.s
GNU Fortran (GCC) version 6.0.0 20150903 (experimental) (x86_64-pc-linux-gnu)
        compiled by GNU C version 6.0.0 20150903 (experimental), GMP version
6.0.0, MPFR version 3.1.2, MPC version 1.0.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU Fortran2008 (GCC) version 6.0.0 20150903 (experimental)
(x86_64-pc-linux-gnu)
        compiled by GNU C version 6.0.0 20150903 (experimental), GMP version
6.0.0, MPFR version 3.1.2, MPC version 1.0.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
2015-09-04 sourced-alloc.f90:9:0:

     allocate(some_local_object, source=foobar)
1
internal compiler error: Segmentation fault
0xa1271f crash_signal
        ../.././src/gcc/toplev.c:352
0x690f9e gfc_class_vptr_get(tree_node*)
        ../.././src/gcc/fortran/trans-expr.c:153
0x694155 class_vtab_field_get
        ../.././src/gcc/fortran/trans-expr.c:201
0x694155 gfc_class_vtab_copy_get(tree_node*)
        ../.././src/gcc/fortran/trans-expr.c:223
0x694155 gfc_copy_class_to_class(tree_node*, tree_node*, tree_node*, bool)
        ../.././src/gcc/fortran/trans-expr.c:1084
0x6cd11b gfc_trans_allocate(gfc_code*)
        ../.././src/gcc/fortran/trans-stmt.c:5725
0x66a7e7 trans_code
        ../.././src/gcc/fortran/trans.c:1798
0x68d6f3 gfc_generate_function_code(gfc_namespace*)
        ../.././src/gcc/fortran/trans-decl.c:5900
0x627210 translate_all_program_units
        ../.././src/gcc/fortran/parse.c:5526
0x627210 gfc_parse_file()
        ../.././src/gcc/fortran/parse.c:5731
0x667ba2 gfc_be_parse_file
        ../.././src/gcc/fortran/f95-lang.c:209
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to