http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57335
Daniel Krügler <daniel.kruegler at googlemail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |daniel.kruegler@googlemail. | |com --- Comment #2 from Daniel Krügler <daniel.kruegler at googlemail dot com> --- (In reply to Paolo Carlini from comment #1) I agree that the code should be rejected, because the created BitsOrderCheck object initializes the member 'byte' of the union and later attempts to read the member 'bits', thus causing the exclusion case of core constant expressions: "an lvalue-to-rvalue conversion (4.1) or modification (5.17, 5.2.6, 5.3.2) that is applied to a glvalue that refers to a non-active member of a union or a subobject thereof;"