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

            Bug ID: 105622
           Summary: ICE in cxx_eval_store_expression with
                    [[no_unique_address]] and empty data members
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ppalka at gcc dot gnu.org
  Target Milestone: ---

struct empty {
  empty() = default;
  constexpr empty(int) { }
};

struct container {
  empty __begin_ = {};
  [[no_unique_address]] empty __size_ = 0;
};

constexpr bool test() {
  container s;
  return true;
}
static_assert(test());


testcase.ii: In function ‘constexpr bool test()’:
testcase.ii:12:13:   in ‘constexpr’ expansion of ‘s.container::container()’
testcase.ii:12:13: internal compiler error: in cxx_eval_store_expression, at
cp/constexpr.cc:5927
   12 |   container s;
      |             ^
0x6a0ca0 cxx_eval_store_expression
        /home/patrick/gcc/gcc/cp/constexpr.cc:5927
0x96c254 cxx_eval_constant_expression
        /home/patrick/gcc/gcc/cp/constexpr.cc:6847
0x96c4d6 cxx_eval_constant_expression
        /home/patrick/gcc/gcc/cp/constexpr.cc:7236
0x96c717 cxx_eval_constant_expression
        /home/patrick/gcc/gcc/cp/constexpr.cc:7048

Reply via email to