[Bug fortran/71067] [4.9/5/6/7 Regression] ICE on data initialization with insufficient value
dominiq at lps dot ens.fr
gcc-bugzilla@gcc.gnu.org
Wed Jun 29 12:43:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71067
--- Comment #6 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> Thus I would consider the PR as 4.8/4.9/5/6/7 regression, do you agree?
Yes, the change occurred between revisions r190641 (2012-08-24, error) and
r190786 (2012-08-29, ICE). The backtrace is
* thread #1: tid = 0x8d8367, 0x00007fff811f2f06
libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread',
stop reason = signal SIGABRT
* frame #0: 0x00007fff811f2f06 libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00007fff8cfc74ec libsystem_pthread.dylib`pthread_kill + 90
frame #2: 0x00007fff8a5106e7 libsystem_c.dylib`abort + 129
frame #3: 0x00000001010497b1 f951`uw_init_context_1(context=<unavailable>,
outer_cfa=<unavailable>, outer_ra=<unavailable>) + 353 at unwind-dw2.c:1563
frame #4: 0x000000010104a098 f951`_Unwind_Backtrace(trace=(f951`unwind at
backtrace.c:68), trace_argument=0x00007fff5fbfeb40) + 56 at unwind.inc:283
frame #5: 0x0000000100fa4589 f951`backtrace_full(state=0x00000001426ff000,
skip=<unavailable>, callback=<unavailable>, error_callback=<unavailable>,
data=<unavailable>) + 105 at backtrace.c:127
frame #6: 0x0000000100f66213
f951`diagnostic_action_after_output(context=0x0000000141979dc0,
diag_kind=<unavailable>) + 435 at diagnostic.c:481
frame #7: 0x0000000100f66828
f951`diagnostic_report_diagnostic(context=0x0000000141979dc0,
diagnostic=0x00007fff5fbfec10) + 680 at diagnostic.c:943
frame #8: 0x0000000100033fbd f951`gfc_internal_error(gmsgid="free_expr0():
Bad expr type") + 237 at error.c:1312
frame #9: 0x0000000100034d5e f951`::free_expr0(e=0x0000000144307ac0) + 286
at expr.c:494
frame #10: 0x0000000100034db9 f951`gfc_free_expr(e=0x0000000144307ac0) + 9
at expr.c:513
frame #11: 0x000000010001f625 f951`gfc_free_data(gfc_data*) + 34 at
decl.c:143
frame #12: 0x000000010001f603 f951`gfc_free_data(p=0x0000000144307330) + 51
frame #13: 0x0000000100020747 f951`gfc_match_data() + 471 at decl.c:626
frame #14: 0x000000010008286a
f951`::match_word_omp_simd(subr=<unavailable>, old_locus=0x00007fff5fbfee70,
simd_matched=<unavailable>, str=<unavailable>)(), locus *, bool *, const char
*) + 10 at parse.c:93
frame #15: 0x0000000100086ffa f951`::decode_statement() + 5322 at
parse.c:457
frame #16: 0x0000000100087d24 f951`::next_statement() + 276 at parse.c:1080
frame #17: 0x000000010008991d f951`::parse_spec(st=ST_DATA_DECL) + 3325 at
parse.c:3637
frame #18: 0x000000010008cbf7 f951`::parse_progunit(st=<unavailable>) + 39
at parse.c:5420
frame #19: 0x000000010008e56a f951`gfc_parse_file() + 1146 at parse.c:5928
frame #20: 0x00000001000d563b f951`::gfc_be_parse_file() + 59 at
f95-lang.c:198
frame #21: 0x0000000100b663ca f951`::compile_file() + 58 at toplev.c:465
frame #22: 0x000000010104e5d6 f951`toplev::main(int, char**) + 1561 at
toplev.c:1998
frame #23: 0x000000010104dfbd f951`toplev::main(this=0x00007fff5fbff340,
argc=<unavailable>, argv=<unavailable>) + 733
frame #24: 0x000000010104fe29 f951`main(argc=2, argv=0x00007fff5fbff380) +
41 at main.c:39
frame #25: 0x00007fff810c35ad libdyld.dylib`start + 1
Tobias Burnus has committed several changes around "free" in this range.
More information about the Gcc-bugs
mailing list