Bug 64772 - [4.9/5 Regression] ICE passing coarrays to subroutine
Summary: [4.9/5 Regression] ICE passing coarrays to subroutine
Status: RESOLVED DUPLICATE of bug 64771
Alias: None
Product: gcc
Classification: Unclassified
Component: fortran (show other bugs)
Version: 5.0
: P3 normal
Target Milestone: 4.9.4
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2015-01-24 14:25 UTC by Alessandro Fanfarillo
Modified: 2015-01-24 15:05 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work: 4.8.5
Known to fail: 4.9.2, 5.0
Last reconfirmed: 2015-01-24 00:00:00


Attachments
Taken from the NAS3.3-CAF benchmark provided by the HPCTools group at UH. (1.93 KB, text/x-fortran)
2015-01-24 14:25 UTC, Alessandro Fanfarillo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alessandro Fanfarillo 2015-01-24 14:25:51 UTC
Created attachment 34565 [details]
Taken from the NAS3.3-CAF benchmark provided by the HPCTools group at UH.

Dear all,

the attached code generates the following ICE:

$ gfortran -fcoarray=lib -c cg.f
f951: internal compiler error: Segmentation fault
0xb6c6ff crash_signal
	../../gcc/toplev.c:383
0x5ea56c gfc_zero_size_array
	../../gcc/fortran/arith.c:1637
0x5ea56c reduce_binary0
	../../gcc/fortran/arith.c:1651
0x5eb460 eval_intrinsic_f3
	../../gcc/fortran/arith.c:1700
0x622e63 check_dummy_characteristics
	../../gcc/fortran/interface.c:1212
0x622807 check_dummy_characteristics
	../../gcc/fortran/interface.c:1058
0x622807 gfc_compare_interfaces(gfc_symbol*, gfc_symbol*, char const*, int, int, char*, int, char const*, char const*)
	../../gcc/fortran/interface.c:1511
0x67d5ad resolve_global_procedure
	../../gcc/fortran/resolve.c:2456
0x67d8b7 resolve_call
	../../gcc/fortran/resolve.c:3394
0x67af88 gfc_resolve_code(gfc_code*, gfc_namespace*)
	../../gcc/fortran/resolve.c:10190
0x67d182 resolve_codes
	../../gcc/fortran/resolve.c:14974
0x67d262 gfc_resolve
	../../gcc/fortran/resolve.c:15002
0x668f7a resolve_all_program_units
	../../gcc/fortran/parse.c:5280
0x668f7a gfc_parse_file()
	../../gcc/fortran/parse.c:5523
0x6a8ad5 gfc_be_parse_file
	../../gcc/fortran/f95-lang.c:228
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.

--------------------------------------------------------------

My current configuration:

Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/home/alex/Downloads/gcc/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/home/alex/gcc --enable-languages=c,c++,fortran --disable-multilib --disable-libgcj --disable-bootstrap
Thread model: posix
gcc version 5.0.0 20150124 (experimental) (GCC) 

Thanks
Comment 1 Thomas Koenig 2015-01-24 14:33:07 UTC
With -fcoarray=single, the test case fails with

Program received signal SIGSEGV, Segmentation fault.
eval_intrinsic_f3 (op=INTRINSIC_MINUS, eval=0x615a60 <gfc_arith_minus(gfc_expr*, gfc_expr*, gfc_expr**)>, op1=0x0, op2=0x1d73140)
    at ../../trunk/gcc/fortran/arith.c:1700
1700      result = reduce_binary0 (op1, op2);
(gdb) p op1
$1 = (gfc_expr *) 0x0

This does not happen with 4.8, hence marking as regression.
Comment 2 Thomas Koenig 2015-01-24 14:50:07 UTC
Also a segfault in a very similar place with 4.9.
Comment 3 Dominique d'Humieres 2015-01-24 14:52:47 UTC
> Also a segfault in a very similar place with 4.9.

I was about to say so!-)
Comment 4 Tobias Burnus 2015-01-24 15:05:54 UTC
Dup of 64771, which came 2min earlier ;-)

*** This bug has been marked as a duplicate of bug 64771 ***