https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102243
Bug ID: 102243 Summary: ice in get_range_query Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- For this C++ code: $ more bug755.cc void *operator new(unsigned long, void *); class FlagRegisterer { public: template < typename FlagType > FlagRegisterer(char *, char *, char *, FlagType, FlagType); }; union { char s[sizeof(int)]; } s_message[2]; int FLAGS_nomessage; FlagRegisterer o_message("", "", "", &FLAGS_nomessage, new (s_message[1].s) int); with recent g++ and *no* optimiser flags, does this: $ /home/dcb/gcc/results/bin/g++ -c bug755.cc bug755.cc:12:47: internal compiler error: Segmentation fault 12 | new (s_message[1].s) int); | ^~~ 0x1013819 crash_signal(int) ../../trunk.git/gcc/toplev.c:328 0x12286ff get_range_query(function const*) ../../trunk.git/gcc/function.h:728 Git hash range seems to be 7a6f40d0452ec76e..9695e1c23be5b5c5, so only 21 commits.