https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120502

            Bug ID: 120502
           Summary: GCC Crash at cp/constexpr.cc:5462 when trying to
                    constant evaluate constructor
           Product: gcc
           Version: 15.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nikolasklauser at berlin dot de
  Target Milestone: ---

```
struct non_trivial_if {
  constexpr non_trivial_if() {}
};
struct allocator : non_trivial_if {};
struct padding {};
struct __short {
  [[no_unique_address]] padding p;
};
struct basic_string {
  union {
    __short s;
    int l;
  };
  [[no_unique_address]] allocator a;
  constexpr basic_string() {}
  ~basic_string();
};
struct time_zone {
  basic_string __abbrev;
  long __offset;
};
time_zone convert_to_time_zone() { return {}; }
```

The code above crashes GCC when compiling with `-std=c++23 -O1` (Godbolt:
https://godbolt.org/z/xnEx8E7nc). This is a reduced test-case from libc++.

Reply via email to