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

            Bug ID: 61819
           Summary: ICE in gfc_conv_descriptor_data_get
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sfilippone at uniroma2 dot it

The attached code produces the ICE in both trunk and 4.9.0. 
The code is from a test case I was trying to reduce while investigating a
memory leak, so something fishy is going on.
------------------ trunk -----------

[sfilippo@jacobi leak-demo]$ gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/local/gnu/4.10/libexec/gcc/x86_64-unknown-linux-gnu/4.10.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc/configure --prefix=/usr/local/gnu/4.10
--enable-languages=c,c++,fortran --with-gmp=/home/travel/GNUBUILD/gmp
--with-mpfr=/home/travel/GNUBUILD/mpfr --with-mpc=/home/travel/GNUBUILD/mpc
--with-cloog=/home/travel/GNUBUILD/cloog : (reconfigured) ../gcc/configure
--prefix=/usr/local/gnu/4.10 --with-gmp=/home/travel/GNUBUILD/gmp
--with-mpfr=/home/travel/GNUBUILD/mpfr --with-mpc=/home/travel/GNUBUILD/mpc
--with-cloog=/home/travel/GNUBUILD/cloog --enable-languages=c,c++,fortran,lto
--no-create --no-recursion
Thread model: posix
gcc version 4.10.0 20140708 (experimental) (GCC) 
[sfilippo@jacobi leak-demo]$ gfortran -O0 -ggdb  -o foo-test foo-test.f90 
foo-test.f90: In function ‘__final_foo_vector_field_mod_Vector_field’:
foo-test.f90:196:0: internal compiler error: in gfc_conv_descriptor_data_get,
at fortran/trans-array.c:146
 end module foo_vector_field_mod
 ^
0x602855 gfc_conv_descriptor_data_get(tree_node*)
        ../../gcc/gcc/fortran/trans-array.c:146
0x609a5e gfc_array_deallocate(tree_node*, tree_node*, tree_node*, tree_node*,
tree_node*, gfc_expr*)
        ../../gcc/gcc/fortran/trans-array.c:5346
0x672bda gfc_trans_deallocate(gfc_code*)
        ../../gcc/gcc/fortran/trans-stmt.c:5484
0x5feb47 trans_code
        ../../gcc/gcc/fortran/trans.c:1798
0x668553 gfc_trans_if_1
        ../../gcc/gcc/fortran/trans-stmt.c:989
0x66edda gfc_trans_if(gfc_code*)
        ../../gcc/gcc/fortran/trans-stmt.c:1020
0x5fec37 trans_code
        ../../gcc/gcc/fortran/trans.c:1736
0x670104 gfc_trans_simple_do
        ../../gcc/gcc/fortran/trans-stmt.c:1446
0x670104 gfc_trans_do(gfc_code*, tree_node*)
        ../../gcc/gcc/fortran/trans-stmt.c:1609
0x5fec0a trans_code
        ../../gcc/gcc/fortran/trans.c:1748
0x628cdb gfc_generate_function_code(gfc_namespace*)
        ../../gcc/gcc/fortran/trans-decl.c:5734
0x6005f1 gfc_generate_module_code(gfc_namespace*)
        ../../gcc/gcc/fortran/trans.c:1995
0x5bb861 translate_all_program_units
        ../../gcc/gcc/fortran/parse.c:4934
0x5bb861 gfc_parse_file()
        ../../gcc/gcc/fortran/parse.c:5144
0x5fa195 gfc_be_parse_file
        ../../gcc/gcc/fortran/f95-lang.c:212
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.


------------------- 4.9-------------------
[sfilippo@jacobi leak-demo]$ gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/local/gnu/4.9.0/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.9.0/configure --prefix=/usr/local/gnu/4.9.0
--enable-languages=c,c++,fortran --with-gmp=/home/travel/GNUBUILD/gmp
--with-mpfr=/home/travel/GNUBUILD/mpfr --with-mpc=/home/travel/GNUBUILD/mpc
Thread model: posix
gcc version 4.9.0 (GCC) 
[sfilippo@jacobi leak-demo]$ gfortran -O0 -ggdb  -o foo-test foo-test.f90 
foo-test.f90: In function ‘__final_foo_vector_field_mod_Vector_field’:
foo-test.f90:196:0: internal compiler error: in gfc_conv_descriptor_data_get,
at fortran/trans-array.c:145
 end module foo_vector_field_mod
 ^
0x5e2348 gfc_conv_descriptor_data_get(tree_node*)
        ../../gcc-4.9.0/gcc/fortran/trans-array.c:145
0x5e7e3f gfc_array_deallocate(tree_node*, tree_node*, tree_node*, tree_node*,
tree_node*, gfc_expr*)
        ../../gcc-4.9.0/gcc/fortran/trans-array.c:5346
0x62f7ca gfc_trans_deallocate(gfc_code*)
        ../../gcc-4.9.0/gcc/fortran/trans-stmt.c:5478
0x5df257 trans_code
        ../../gcc-4.9.0/gcc/fortran/trans.c:1798
0x626623 gfc_trans_if_1
        ../../gcc-4.9.0/gcc/fortran/trans-stmt.c:986
0x62c3aa gfc_trans_if(gfc_code*)
        ../../gcc-4.9.0/gcc/fortran/trans-stmt.c:1017
0x5df347 trans_code
        ../../gcc-4.9.0/gcc/fortran/trans.c:1736
0x62d4a1 gfc_trans_simple_do
        ../../gcc-4.9.0/gcc/fortran/trans-stmt.c:1440
0x62d4a1 gfc_trans_do(gfc_code*, tree_node*)
        ../../gcc-4.9.0/gcc/fortran/trans-stmt.c:1603
0x5df31a trans_code
        ../../gcc-4.9.0/gcc/fortran/trans.c:1748
0x5fe6bb gfc_generate_function_code(gfc_namespace*)
        ../../gcc-4.9.0/gcc/fortran/trans-decl.c:5610
0x5e06e1 gfc_generate_module_code(gfc_namespace*)
        ../../gcc-4.9.0/gcc/fortran/trans.c:1972
0x59e809 translate_all_program_units
        ../../gcc-4.9.0/gcc/fortran/parse.c:4522
0x59e809 gfc_parse_file()
        ../../gcc-4.9.0/gcc/fortran/parse.c:4732
0x5db545 gfc_be_parse_file
        ../../gcc-4.9.0/gcc/fortran/f95-lang.c:188
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