[Bug lto/87574] [9 Regression] ICE in add_data_member_location_attribute at gcc/gcc/dwarf2out.c:19226 since r264943
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87574 Martin Liška changed: What|Removed |Added CC||ebotcazou at gcc dot gnu.org Target Milestone|--- |9.0
[Bug lto/87574] [9 Regression] ICE in add_data_member_location_attribute at gcc/gcc/dwarf2out.c:19226 since r264943
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87574 --- Comment #1 from Martin Liška --- Created attachment 44821 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44821&action=edit Different test-case One different test-case: $ g++ thread2.ii -O2 -g ... during IPA pass: inline thread.ii: In member function ‘virtual nsresult mozilla::LazyIdleThread::_ZThn24_N7mozilla14LazyIdleThread17OnDispatchedEventEv()’: thread.ii:211364:20: internal compiler error: in dwarf2out_abstract_function, at dwarf2out.c:22468 211364 | virtual nsresult OnDispatchedEvent(void) override; virtual nsresult OnProcessNextEvent(nsIThreadInternal *thread, bool mayWait) override; virtual nsresult AfterProcessNextEvent(nsIThreadInternal *thread, bool eventWasProcessed) override; |^ 0xe1ef5e dwarf2out_abstract_function /home/marxin/Programming/gcc/gcc/dwarf2out.c:22468 0x14c38b8 tree_function_versioning(tree_node*, tree_node*, vec*, bool, bitmap_head*, bool, bitmap_head*, basic_block_def*) /home/marxin/Programming/gcc/gcc/tree-inline.c:5804 0x21661df save_inline_function_body /home/marxin/Programming/gcc/gcc/ipa-inline-transform.c:585 0x21663b0 inline_transform(cgraph_node*) /home/marxin/Programming/gcc/gcc/ipa-inline-transform.c:644 0x127fc45 execute_one_ipa_transform_pass /home/marxin/Programming/gcc/gcc/passes.c:2170 0x127fdcf execute_all_ipa_transforms() /home/marxin/Programming/gcc/gcc/passes.c:2212 0xd68808 cgraph_node::expand() /home/marxin/Programming/gcc/gcc/cgraphunit.c:2181 0xd68e6c expand_all_functions /home/marxin/Programming/gcc/gcc/cgraphunit.c:2326 0xd699cf symbol_table::compile() /home/marxin/Programming/gcc/gcc/cgraphunit.c:2677 0xd69e08 symbol_table::finalize_compilation_unit() /home/marxin/Programming/gcc/gcc/cgraphunit.c:2855
[Bug lto/87574] [9 Regression] ICE in add_data_member_location_attribute at gcc/gcc/dwarf2out.c:19226 since r264943
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87574 Eric Botcazou changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |ebotcazou at gcc dot gnu.org
[Bug lto/87574] [9 Regression] ICE in add_data_member_location_attribute at gcc/gcc/dwarf2out.c:19226 since r264943
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87574 Eric Botcazou changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2018-10-10 Ever confirmed|0 |1 --- Comment #2 from Eric Botcazou --- Egad. Reducing the compile-only testcase...
[Bug lto/87574] [9 Regression] ICE in add_data_member_location_attribute at gcc/gcc/dwarf2out.c:19226 since r264943
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87574 --- Comment #3 from David Binderman --- (In reply to Eric Botcazou from comment #2) > Egad. Reducing the compile-only testcase... Not sure which one you mean, but I can duplicate the second test case with this reduced C++ code: class a { public: virtual ~a(); }; class c { public: enum j {}; virtual j d() = 0; }; class e : a, c { j d(); }; class f; class g { public: static g *h(); f *i(); }; class f { public: template b *l(int); }; c::j e::d() {} void m() { for (int k;;) g::h()->i()->l(k)->d(); } Flags -g and -O2 required. Problem seems to start between revision 264889 and 264959.