https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57335
Kai Tietz <ktietz at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ktietz at gcc dot gnu.org --- Comment #6 from Kai Tietz <ktietz at gcc dot gnu.org> --- Yes, delayed folding fixes wrong-code/valid-code samples. For invalid-code I see with delayed folding the following error-messages: t_pr57335.C: In function 'int main()': t_pr57335.C:29:5: error: non-constant condition for static assertion static_assert(BitsOrderCheck().IsLsbBottom(), "blah"); ^ t_pr57335.C:29:47: in constexpr expansion of 'BitsOrderCheck().BitsOrderCheck::IsLsbBottom()' t_pr57335.C:29:5: error: accessing 'BitsOrderCheck::Data::bits' member instead of initialized 'BitsOrderCheck::Data::byte' member in constant expression Not sure if this is desired.