https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64982
Bug ID: 64982 Summary: [5 Regression] Many g++ failures on x86_64-apple-darwin14 with -m32. Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: dominiq at lps dot ens.fr CC: fxcoudert at gcc dot gnu.org, howarth at bromo dot med.uc.edu, hubicka at gcc dot gnu.org, iains at gcc dot gnu.org Host: x86_64-apple-darwin14 Target: x86_64-apple-darwin14 Build: x86_64-apple-darwin14 At revision r220526 there are many g++ failures on x86_64-apple-darwin14 with -m32: see https://gcc.gnu.org/ml/gcc-testresults/2015-02/msg00974.html. Revision r220506 is OK. The ICEs are of the kind /opt/gcc/_clean/gcc/testsuite/g++.dg/abi/covariant2.C:29:28: internal compiler error: Segmentation fault: 11 c6* c24::f6() { return 0; } ^ and the backtrace is * thread #1: tid = 0x6290629, 0x0000000100679ae7 cc1plus`cgraph_node::function_symbol(this=<unavailable>, availability=0x0000000000000000) + 71 at cgraph.c:3129, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x10) frame #0: 0x0000000100679ae7 cc1plus`cgraph_node::function_symbol(this=<unavailable>, availability=0x0000000000000000) + 71 at cgraph.c:3129 3126 3127 while (node->thunk.thunk_p) 3128 { -> 3129 node = node->callees->callee; 3130 if (availability) 3131 { 3132 enum availability a; (lldb) bt * thread #1: tid = 0x6290629, 0x0000000100679ae7 cc1plus`cgraph_node::function_symbol(this=<unavailable>, availability=0x0000000000000000) + 71 at cgraph.c:3129, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x10) * frame #0: 0x0000000100679ae7 cc1plus`cgraph_node::function_symbol(this=<unavailable>, availability=0x0000000000000000) + 71 at cgraph.c:3129 frame #1: 0x0000000100eb8281 cc1plus`ix86_function_regparm(type=0x0000000142776a80, decl=0x0000000142777bd0) + 305 at i386.c:5774 frame #2: 0x0000000100eba687 cc1plus`x86_can_output_mi_thunk((null)=<unavailable>, (null)=<unavailable>, vcall_offset=-16, function=0x0000000142777bd0) + 55 at i386.c:42800 frame #3: 0x000000010019c0f8 cc1plus`use_thunk(thunk_fndecl=0x0000000142777e58, emit_p=<unavailable>) + 1416 at method.c:422 frame #4: 0x00000001001b7ddd cc1plus`emit_associated_thunks(fn=<unavailable>) + 509 at semantics.c:4031 frame #5: 0x00000001001b828b cc1plus`expand_or_defer_fn(fn=0x0000000142777288) + 59 at semantics.c:4122 frame #6: 0x000000010014aed8 cc1plus`cp_parser_function_definition_after_declarator(parser=0x0000000142767000, inline_p=<unavailable>) + 248 at parser.c:23481 frame #7: 0x000000010014be27 cc1plus`cp_parser_init_declarator + 3207 at parser.c:23385 frame #8: 0x000000010014d54e cc1plus`cp_parser_simple_declaration(parser=0x0000000142767000, function_definition_allowed_p=true, maybe_range_for_decl=0x0000000000000000) + 558 at parser.c:11601 frame #9: 0x000000010014d904 cc1plus`cp_parser_block_declaration(parser=0x0000000142767000, statement_p=<unavailable>) + 116 at parser.c:11475 frame #10: 0x00000001001568ca cc1plus`cp_parser_declaration(parser=0x0000000142767000) + 394 at parser.c:11372 frame #11: 0x0000000100156b7d cc1plus`cp_parser_declaration_seq_opt(parser=0x0000000142767000) + 125 at parser.c:11258 frame #12: 0x0000000100156ed2 cc1plus`c_parse_file() + 22 at parser.c:4109 frame #13: 0x0000000100156ebc cc1plus`c_parse_file() + 604 frame #14: 0x00000001002a1e76 cc1plus`c_common_parse_file() + 246 at c-opts.c:1052 frame #15: 0x0000000100b6921c cc1plus`compile_file + 44 at toplev.c:594 frame #16: 0x0000000100fe6507 cc1plus`toplev::main(int, char**) + 1288 at toplev.c:2066 frame #17: 0x0000000100fe5fff cc1plus`toplev::main(this=<unavailable>, argc=4, argv=0x00007fff5fbff328) + 719 frame #18: 0x0000000100fe720c cc1plus`main(argc=<unavailable>, argv=<unavailable>) + 44 at main.c:39