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.

Reply via email to