[Bug c++/61838] ICE on Windows with ctors defined outside class definitions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61838 Kai Tietz ktietz at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||ktietz at gcc dot gnu.org Resolution|--- |FIXED --- Comment #3 from Kai Tietz ktietz at gcc dot gnu.org --- This issue got fixed for 5.0. As it is unlikely thing get back-merged to 4.9, I close this bug
[Bug c++/61838] ICE on Windows with ctors defined outside class definitions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61838 Stephan Tolksdorf st at quanttec dot com changed: What|Removed |Added CC||st at quanttec dot com --- Comment #2 from Stephan Tolksdorf st at quanttec dot com --- This regression from 4.8 seems to have been fixed on trunk but is still present on the 4.9 branch. Could the fix be packported to 4.9? Compiling the following simple snippet with -std=c++11 produces a segfault with 4.9: template typename... Ts struct A {}; struct B { B(Aint); }; B::B(Aint) {} cc1plus: internal compiler error: Segmentation fault 0x919b1f crash_signal ../../gcc/gcc/toplev.c:337 0x6a5ea2 analyze_functions ../../gcc/gcc/cgraphunit.c:1043 0x6a6f4f finalize_compilation_unit() ../../gcc/gcc/cgraphunit.c:2327 0x559ebb cp_write_global_declarations() ../../gcc/gcc/cp/decl2.c:4616
[Bug c++/61838] ICE on Windows with ctors defined outside class definitions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61838 Harald van Dijk harald at gigawatt dot nl changed: What|Removed |Added CC||harald at gigawatt dot nl --- Comment #1 from Harald van Dijk harald at gigawatt dot nl --- Not specific to Windows. On x86_64-pc-linux-gnu, both 4.9.1 and master as of today ICE. It works from 4.4 to 4.8. cc1plus: internal compiler error: Segmentation fault 0xbbc02f crash_signal ../../gcc/gcc/toplev.c:337 0x880df5 analyze_functions ../../gcc/gcc/cgraphunit.c:1054 0x88273f finalize_compilation_unit() ../../gcc/gcc/cgraphunit.c:2338 0x671c70 cp_write_global_declarations() ../../gcc/gcc/cp/decl2.c:4684 /* If decl is a clone of an abstract function, mark that abstract function so that we don't release its body. The DECL_INITIAL() of that abstract function declaration will be later needed to output debug info. */ if (DECL_ABSTRACT_ORIGIN (decl)) { struct cgraph_node *origin_node = cgraph_get_node (DECL_ABSTRACT_ORIGIN (decl)); 1054 origin_node-used_as_abstract_origin = true; }