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

--- Comment #4 from Paolo Carlini <paolo.carlini at oracle dot com> ---
The code in cxx_eval_bit_field_ref needs some work, doesn't handle CONSTRUCTORs
inside CONSTRUCTORs. This is a reduced testcase:

struct BitsOrderCheck
{
  struct Data
  {
    const unsigned char   set:1;
    constexpr Data() : set{1} {}
  };

  constexpr bool IsLsbBottom() const
  {
    return 1 == data_.set;
  }

  const Data    data_;
};

static_assert(BitsOrderCheck().IsLsbBottom(), "blah");

Reply via email to