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.