Pip Cet writes: > My understanding is it is safe to access an entire union at once, as the > old code did, and that GCC concluded based on the undefined behavior > elsewhere that the only possible union members were those with the holes > in the right place. I have reached the bottom of this unpleasant business. The following reproducer does not require enabling LTO or type punning (or casts at all, come to that), just "gcc-15 -std=c99 -O3".