https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102959
--- Comment #1 from Iain Buclaw <ibuclaw at gdcproject dot org> --- (In reply to Rainer Orth from comment #0) > (gdb) p array > $2 = {16, 678} > (gdb) p u > $3 = {i = 0, b = false} > (gdb) n > 9 u.i = 0xDEADBEEF; > (gdb) n > 10 assert(array[u.b] == 678); > (gdb) p u > $4 = {i = -559038737, b = 222} > (gdb) p/x u.i > $7 = 0xdeadbeef OK, so the test didn't account for endianess. Will adjust the value or add a version condition for BigEndian to assert the value is the other index.