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

--- Comment #5 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #4)
> Hmm, I can no longer reproduce -g0 vs -g on x86_64-linux.  Ians testresults
> now
> list
> 
> FAIL: g++.dg/asan/pr62017.C   -O2 -flto  (internal compiler error)
> FAIL: g++.dg/asan/pr62017.C   -O2 -flto  (test for excess errors)
> FAIL: g++.dg/asan/pr62017.C   -O2 -flto -flto-partition=none  (internal
> compiler error)
> FAIL: g++.dg/asan/pr62017.C   -O2 -flto -flto-partition=none  (test for
> excess errors)
> FAIL: g++.dg/asan/pr78651.C   -O2 -flto  (internal compiler error)
> FAIL: g++.dg/asan/pr78651.C   -O2 -flto  (test for excess errors)
> FAIL: g++.dg/asan/pr78651.C   -O2 -flto -flto-partition=none  (internal
> compiler error)
> FAIL: g++.dg/asan/pr78651.C   -O2 -flto -flto-partition=none  (test for
> excess errors)
> 
> but I can't reproduce with pr62017.C or pr78651.C either right now.

81021 has indeed started to pass (I didn't notice when).

===== 62017 is:

$ /XC/9.4/usr/bin/lldb --
/scratch/10-12-sie/gcc-trunk-unpatched/gcc/testsuite/g++/../../lto1 -fPIC
-feliminate-unused-debug-symbols -quiet -dumpdir ./ -dumpbase pr62017.exe
-mmacosx-version-min=10.12.0 -mtune=core2 -m32 -mmacosx-version-min=10.12.0
-mtune=core2 -auxbase-strip pr62017.exe.lto.o -g -O2 -O2 -version
-fdiagnostics-color=never -fno-openmp -fno-openacc -fPIC -fsanitize=address
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-fmessage-length=0 -flto-partition=none
@/var/folders/tj/17r7407j14d324dzf67cnvxm000114/T//ccyWmZmy -o pr62017.s
(lldb) target create
"/scratch/10-12-sie/gcc-trunk-unpatched/gcc/testsuite/g++/../../lto1"
Current executable set to
'/scratch/10-12-sie/gcc-trunk-unpatched/gcc/testsuite/g++/../../lto1' (x86_64).
(lldb) settings set -- target.run-args  "-fPIC"
"-feliminate-unused-debug-symbols" "-quiet" "-dumpdir" "./" "-dumpbase"
"pr62017.exe" "-mmacosx-version-min=10.12.0" "-mtune=core2" "-m32"
"-mmacosx-version-min=10.12.0" "-mtune=core2" "-auxbase-strip"
"pr62017.exe.lto.o" "-g" "-O2" "-O2" "-version" "-fdiagnostics-color=never"
"-fno-openmp" "-fno-openacc" "-fPIC" "-fsanitize=address"
"-fno-diagnostics-show-caret" "-fno-diagnostics-show-line-numbers"
"-fmessage-length=0" "-flto-partition=none"
"@/var/folders/tj/17r7407j14d324dzf67cnvxm000114/T//ccyWmZmy" "-o" "pr62017.s"
(lldb) b internal_error
Breakpoint 1: where = lto1`internal_error(char const*, ...) + 121 [inlined]
_ZN21auto_diagnostic_groupC4Ev, address = 0x00000001010abcb9
(lldb) r
Process 22051 launched:
'/scratch/10-12-sie/gcc-trunk-unpatched/gcc/testsuite/g++/../../lto1' (x86_64)
GNU GIMPLE (GCC) version 9.0.0 20190114 (experimental) [trunk revision 267925]
(x86_64-apple-darwin16)
        compiled by GNU C version 9.0.0 20190114 (experimental) [trunk revision
267925], GMP version 6.1.2, MPFR version 3.1.6, MPC version 1.1.0, isl version
isl-0.20-GMP

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU GIMPLE (GCC) version 9.0.0 20190114 (experimental) [trunk revision 267925]
(x86_64-apple-darwin16)
        compiled by GNU C version 9.0.0 20190114 (experimental) [trunk revision
267925], GMP version 6.1.2, MPFR version 3.1.6, MPC version 1.1.0, isl version
isl-0.20-GMP

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Process 22051 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=1, address=0x0)
    frame #0: 0x0000000100f7a941 lto1`tree_to_shwi(t=0x0000000000000000) at
tree.c:7169
   7166 tree_fits_shwi_p (const_tree t)
   7167 {
   7168   return (t != NULL_TREE
-> 7169           && TREE_CODE (t) == INTEGER_CST
   7170           && wi::fits_shwi_p (wi::to_widest (t)));
   7171 }
   7172 
Target 0: (lto1) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=1, address=0x0)
  * frame #0: 0x0000000100f7a941 lto1`tree_to_shwi(t=0x0000000000000000) at
tree.c:7169
    frame #1: 0x00000001007ddb3b
lto1`::add_data_member_location_attribute(die=0x000000014482b9b0,
decl=0x00000001448250c0, ctx=<unavailable>) at dwarf2out.c:19306
    frame #2: 0x00000001007e6c3e lto1`::gen_struct_or_union_type_die(tree,
dw_die_ref, debug_info_usage) at dwarf2out.c:24580
    frame #3: 0x00000001007e6b29
lto1`::gen_struct_or_union_type_die(type=0x0000000144826000,
context_die=0x000000014482b000, usage=<unavailable>)
    frame #4: 0x00000001007e205e
lto1`::gen_tagged_type_die(type=0x0000000144826000, context_die=<unavailable>,
usage=DINFO_USAGE_DIR_USE) at dwarf2out.c:25430
    frame #5: 0x00000001007e248f
lto1`::gen_typedef_die(decl=0x0000000144821558, context_die=0x000000014482b000)
at dwarf2out.c:25344
    frame #6: 0x00000001007e2a15 lto1`::gen_decl_die(decl=0x0000000144821558,
origin=<unavailable>, ctx=<unavailable>, context_die=0x000000014482b000) at
dwarf2out.c:26314
    frame #7: 0x00000001007c5ef3
lto1`::gen_type_die_with_usage(type=0x0000000144826000,
context_die=<unavailable>, usage=DINFO_USAGE_DIR_USE) at dwarf2out.c:25495
    frame #8: 0x00000001007c785a lto1`::gen_type_die(type=0x0000000144826000,
context_die=<unavailable>) at dwarf2out.c:25679
    frame #9: 0x00000001007c80b0
lto1`::modified_type_die(type=0x0000000144826000, cv_quals=0,
reverse=<unavailable>, context_die=0x000000014482b870) at dwarf2out.c:13373
    frame #10: 0x00000001007ca931
lto1`::add_type_attribute(object_die=0x000000014482b8c0, type=<unavailable>,
cv_quals=<unavailable>, reverse=<unavailable>, context_die=<unavailable>) at
dwarf2out.c:21601
    frame #11: 0x00000001007e6c2e lto1`::gen_struct_or_union_type_die(tree,
dw_die_ref, debug_info_usage) at dwarf2out.c:24578
    frame #12: 0x00000001007e6b29
lto1`::gen_struct_or_union_type_die(type=0x00000001448260a8,
context_die=0x000000014482b000, usage=<unavailable>)
    frame #13: 0x00000001007e205e
lto1`::gen_tagged_type_die(type=0x00000001448260a8, context_die=<unavailable>,
usage=DINFO_USAGE_DIR_USE) at dwarf2out.c:25430
    frame #14: 0x00000001007e248f
lto1`::gen_typedef_die(decl=0x00000001448217b8, context_die=0x000000014482b000)
at dwarf2out.c:25344
    frame #15: 0x00000001007e2a15 lto1`::gen_decl_die(decl=0x00000001448217b8,
origin=<unavailable>, ctx=<unavailable>, context_die=0x000000014482b000) at
dwarf2out.c:26314
    frame #16: 0x00000001007c5ef3
lto1`::gen_type_die_with_usage(type=0x00000001448260a8,
context_die=<unavailable>, usage=DINFO_USAGE_DIR_USE) at dwarf2out.c:25495
    frame #17: 0x00000001007c785a lto1`::gen_type_die(type=0x00000001448260a8,
context_die=<unavailable>) at dwarf2out.c:25679
    frame #18: 0x00000001007c80b0
lto1`::modified_type_die(type=0x00000001448260a8, cv_quals=0,
reverse=<unavailable>, context_die=0x000000014482b690) at dwarf2out.c:13373
    frame #19: 0x00000001007ca931
lto1`::add_type_attribute(object_die=0x000000014482b7d0, type=<unavailable>,
cv_quals=<unavailable>, reverse=<unavailable>, context_die=<unavailable>) at
dwarf2out.c:21601
    frame #20: 0x00000001007bdf53
lto1`::gen_variable_die(decl=0x0000000142ce0e10, origin=<unavailable>,
context_die=0x000000014482b690) at dwarf2out.c:23843
    frame #21: 0x00000001007e2c3b lto1`::gen_decl_die(decl=0x0000000142ce0e10,
origin=0x0000000000000000, ctx=0x0000000000000000,
context_die=0x000000014482b690) at dwarf2out.c:26371
    frame #22: 0x00000001007c01dd
lto1`::process_scope_var(stmt=0x00000001448252a0, decl=0x0000000142ce0e10,
origin=<unavailable>, context_die=0x000000014482b690) at dwarf2out.c:25832
    frame #23: 0x00000001007c06c9
lto1`::decls_for_scope(stmt=0x00000001448252a0, context_die=0x000000014482b690,
recurse=<unavailable>) at dwarf2out.c:25858
    frame #24: 0x00000001007c19c7 lto1`::gen_subprogram_die(decl=<unavailable>,
context_die=<unavailable>) at dwarf2out.c:23328
    frame #25: 0x00000001007e2705 lto1`::gen_decl_die(decl=0x0000000144824100,
origin=0x0000000000000000, ctx=0x0000000000000000,
context_die=0x000000014482b000) at dwarf2out.c:26288
    frame #26: 0x00000001007e428b
lto1`::dwarf2out_decl(decl=0x0000000144824100) at dwarf2out.c:26856
    frame #27: 0x00000001007e4d5f
lto1`::dwarf2out_function_decl(decl=<unavailable>) at dwarf2out.c:26871
    frame #28: 0x0000000100851128 lto1`pass_final::execute(this=<unavailable>,
(null)=<unavailable>) const at final.c:4695
    frame #29: 0x0000000100b814af
lto1`execute_one_pass(pass=0x0000000143811c20) at passes.c:2483
    frame #30: 0x0000000100b81b63
lto1`::execute_pass_list_1(pass=0x0000000143811c20) at passes.c:2569
    frame #31: 0x0000000100b81b75
lto1`::execute_pass_list_1(pass=0x0000000143811740) at passes.c:2570
    frame #32: 0x0000000100b81b75
lto1`::execute_pass_list_1(pass=0x000000014380fac0) at passes.c:2570
    frame #33: 0x0000000100b81ba2 lto1`execute_pass_list(fn=0x000000014482d000,
pass=<unavailable>) at passes.c:2580
    frame #34: 0x00000001006eb445
lto1`cgraph_node::expand(this=0x0000000143d24438) at cgraphunit.c:2196
    frame #35: 0x00000001006ec322 lto1`symbol_table::compile() at
cgraphunit.c:2334
    frame #36: 0x00000001006ec221
lto1`symbol_table::compile(this=0x0000000143d25100)
    frame #37: 0x0000000100030ff0 lto1`lto_main() at lto.c:3390
    frame #38: 0x0000000100c982ca lto1`::compile_file() at toplev.c:456
    frame #39: 0x0000000101710faf lto1`toplev::main(int, char**) at
toplev.c:2176
    frame #40: 0x0000000101710e7b lto1`toplev::main(this=0x00007fff5fbff68e,
argc=<unavailable>, argv=<unavailable>)
    frame #41: 0x0000000101713821 lto1`main(argc=31, argv=0x00007fff5fbff6c8)
at main.c:39
    frame #42: 0x00007fff9e132235 libdyld.dylib`start + 1
    frame #43: 0x00007fff9e132235 libdyld.dylib`start + 1
(lldb) 


=========  pr78651 is:

$ /XC/9.4/usr/bin/lldb --
/scratch/10-12-sie/gcc-trunk-unpatched/gcc/testsuite/g++2/../../lto1 -fPIC
-feliminate-unused-debug-symbols -quiet -dumpdir ./ -dumpbase pr78651.exe
-mmacosx-version-min=10.12.0 -mtune=core2 -m32 -mmacosx-version-min=10.12.0
-mtune=core2 -auxbase-strip pr78651.exe.lto.o -g -O2 -O2 -version
-fdiagnostics-color=never -fno-openmp -fno-openacc -fsanitize=address
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-fmessage-length=0 -flto-partition=none -fpic
@/var/folders/tj/17r7407j14d324dzf67cnvxm000114/T//ccUkv7Up -o pr78651.s
(lldb) target create
"/scratch/10-12-sie/gcc-trunk-unpatched/gcc/testsuite/g++2/../../lto1"
Current executable set to
'/scratch/10-12-sie/gcc-trunk-unpatched/gcc/testsuite/g++2/../../lto1'
(x86_64).
(lldb) settings set -- target.run-args  "-fPIC"
"-feliminate-unused-debug-symbols" "-quiet" "-dumpdir" "./" "-dumpbase"
"pr78651.exe" "-mmacosx-version-min=10.12.0" "-mtune=core2" "-m32"
"-mmacosx-version-min=10.12.0" "-mtune=core2" "-auxbase-strip"
"pr78651.exe.lto.o" "-g" "-O2" "-O2" "-version" "-fdiagnostics-color=never"
"-fno-openmp" "-fno-openacc" "-fsanitize=address" "-fno-diagnostics-show-caret"
"-fno-diagnostics-show-line-numbers" "-fmessage-length=0"
"-flto-partition=none" "-fpic"
"@/var/folders/tj/17r7407j14d324dzf67cnvxm000114/T//ccUkv7Up" "-o" "pr78651.s"
(lldb) b internal_error
r
Breakpoint 1: where = lto1`internal_error(char const*, ...) + 121 [inlined]
_ZN21auto_diagnostic_groupC4Ev, address = 0x00000001010abcb9
(lldb) r
Process 22101 launched:
'/scratch/10-12-sie/gcc-trunk-unpatched/gcc/testsuite/g++2/../../lto1' (x86_64)
GNU GIMPLE (GCC) version 9.0.0 20190114 (experimental) [trunk revision 267925]
(x86_64-apple-darwin16)
        compiled by GNU C version 9.0.0 20190114 (experimental) [trunk revision
267925], GMP version 6.1.2, MPFR version 3.1.6, MPC version 1.1.0, isl version
isl-0.20-GMP

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU GIMPLE (GCC) version 9.0.0 20190114 (experimental) [trunk revision 267925]
(x86_64-apple-darwin16)
        compiled by GNU C version 9.0.0 20190114 (experimental) [trunk revision
267925], GMP version 6.1.2, MPFR version 3.1.6, MPC version 1.1.0, isl version
isl-0.20-GMP

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Process 22101 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
    frame #0: 0x00000001010abcb9 lto1`internal_error(char const*, ...)
[inlined] _ZN21auto_diagnostic_groupC4Ev(this=<unavailable>) at
diagnostic.c:1616
   1613 
   1614 auto_diagnostic_group::auto_diagnostic_group ()
   1615 {
-> 1616   global_dc->diagnostic_group_nesting_depth++;
   1617 }
   1618 
   1619 /* Destructor: "pop" this group from global_dc.  */
Target 0: (lto1) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
  * frame #0: 0x00000001010abcb9 lto1`internal_error(char const*, ...)
[inlined] _ZN21auto_diagnostic_groupC4Ev(this=<unavailable>) at
diagnostic.c:1616
    frame #1: 0x00000001010abcb9 lto1`internal_error(gmsgid="in %s, at %s:%d")
    frame #2: 0x000000010170bf9c lto1`fancy_abort(file=<unavailable>,
line=<unavailable>, function=<unavailable>) at diagnostic.c:1607
    frame #3: 0x00000001015991fc lto1`lhd_decl_printable_name(tree_node*, int)
at langhooks.c:222
    frame #4: 0x00000001007b4288 lto1`::add_pubtype(decl=0x0000000143e25f18,
die=0x0000000143e27f50) at dwarf2out.c:11333
    frame #5: 0x00000001007e70f1
lto1`::gen_struct_or_union_type_die(type=0x0000000143e25f18,
context_die=<unavailable>, usage=<unavailable>) at dwarf2out.c:25256
    frame #6: 0x00000001007e205e
lto1`::gen_tagged_type_die(type=0x0000000143e25f18, context_die=<unavailable>,
usage=DINFO_USAGE_DIR_USE) at dwarf2out.c:25430
    frame #7: 0x00000001007e248f
lto1`::gen_typedef_die(decl=0x0000000143e214c0, context_die=0x0000000143e27190)
at dwarf2out.c:25344
    frame #8: 0x00000001007e2a15 lto1`::gen_decl_die(decl=0x0000000143e214c0,
origin=<unavailable>, ctx=<unavailable>, context_die=0x0000000143e27190) at
dwarf2out.c:26314
    frame #9: 0x00000001007c5ef3
lto1`::gen_type_die_with_usage(type=0x0000000143e25f18,
context_die=<unavailable>, usage=DINFO_USAGE_DIR_USE) at dwarf2out.c:25495
    frame #10: 0x00000001007c785a lto1`::gen_type_die(type=0x0000000143e25f18,
context_die=<unavailable>) at dwarf2out.c:25679
    frame #11: 0x00000001007c80b0
lto1`::modified_type_die(type=0x0000000143e25f18, cv_quals=0,
reverse=<unavailable>, context_die=0x0000000143e27e60) at dwarf2out.c:13373
    frame #12: 0x00000001007ca931
lto1`::add_type_attribute(object_die=0x0000000143e27eb0, type=<unavailable>,
cv_quals=<unavailable>, reverse=<unavailable>, context_die=<unavailable>) at
dwarf2out.c:21601
    frame #13: 0x00000001007bdf53
lto1`::gen_variable_die(decl=0x0000000142ce0e10, origin=<unavailable>,
context_die=0x0000000143e27e60) at dwarf2out.c:23843
    frame #14: 0x00000001007e2c3b lto1`::gen_decl_die(decl=0x0000000142ce0e10,
origin=0x0000000000000000, ctx=0x0000000000000000,
context_die=0x0000000143e27e60) at dwarf2out.c:26371
    frame #15: 0x00000001007c01dd
lto1`::process_scope_var(stmt=0x0000000143e2c540, decl=0x0000000142ce0e10,
origin=<unavailable>, context_die=0x0000000143e27e60) at dwarf2out.c:25832
    frame #16: 0x00000001007c06c9
lto1`::decls_for_scope(stmt=0x0000000143e2c540, context_die=0x0000000143e27e60,
recurse=<unavailable>) at dwarf2out.c:25858
    frame #17: 0x00000001007e9dd4 lto1`::gen_block_die(tree, dw_die_ref) at
dwarf2out.c:24180
    frame #18: 0x00000001007e9d0c lto1`::gen_block_die(stmt=0x0000000143e2c540,
context_die=<unavailable>)
    frame #19: 0x00000001007c076f
lto1`::decls_for_scope(stmt=0x0000000143e2c4e0, context_die=0x0000000143e27af0,
recurse=<unavailable>) at dwarf2out.c:25887
    frame #20: 0x00000001007c19c7 lto1`::gen_subprogram_die(decl=<unavailable>,
context_die=<unavailable>) at dwarf2out.c:23328
    frame #21: 0x00000001007e2705 lto1`::gen_decl_die(decl=0x0000000143e24300,
origin=0x0000000000000000, ctx=0x0000000000000000,
context_die=0x0000000143e27190) at dwarf2out.c:26288
    frame #22: 0x00000001007e428b
lto1`::dwarf2out_decl(decl=0x0000000143e24300) at dwarf2out.c:26856
    frame #23: 0x00000001007e4d5f
lto1`::dwarf2out_function_decl(decl=<unavailable>) at dwarf2out.c:26871
    frame #24: 0x0000000100851128 lto1`pass_final::execute(this=<unavailable>,
(null)=<unavailable>) const at final.c:4695
    frame #25: 0x0000000100b814af
lto1`execute_one_pass(pass=0x0000000142d13f50) at passes.c:2483
    frame #26: 0x0000000100b81b63
lto1`::execute_pass_list_1(pass=0x0000000142d13f50) at passes.c:2569
    frame #27: 0x0000000100b81b75
lto1`::execute_pass_list_1(pass=0x0000000142d13a70) at passes.c:2570
    frame #28: 0x0000000100b81b75
lto1`::execute_pass_list_1(pass=0x0000000142d11df0) at passes.c:2570
    frame #29: 0x0000000100b81ba2 lto1`execute_pass_list(fn=0x0000000143e2d000,
pass=<unavailable>) at passes.c:2580
    frame #30: 0x00000001006eb445
lto1`cgraph_node::expand(this=0x0000000143c045a0) at cgraphunit.c:2196
    frame #31: 0x00000001006ec322 lto1`symbol_table::compile() at
cgraphunit.c:2334
    frame #32: 0x00000001006ec221
lto1`symbol_table::compile(this=0x0000000143c05100)
    frame #33: 0x0000000100030ff0 lto1`lto_main() at lto.c:3390
    frame #34: 0x0000000100c982ca lto1`::compile_file() at toplev.c:456
    frame #35: 0x0000000101710faf lto1`toplev::main(int, char**) at
toplev.c:2176
    frame #36: 0x0000000101710e7b lto1`toplev::main(this=0x00007fff5fbff68e,
argc=<unavailable>, argv=<unavailable>)
    frame #37: 0x0000000101713821 lto1`main(argc=31, argv=0x00007fff5fbff6c8)
at main.c:39
    frame #38: 0x00007fff9e132235 libdyld.dylib`start + 1
    frame #39: 0x00007fff9e132235 libdyld.dylib`start + 1

Reply via email to