https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635
--- Comment #53 from Liu Hao <lh_mouse at 126 dot com> ---
For people who are not willing to turn off this warning:
This warning may be suppressed by introducing a volatile member in the union
that is used as the storage.
Using Martin Sebor's testcase, this look likes this:
```
union {
T t;
char x[sizeof (T)];
volatile char dont_use; // this silences such warnings.
};
```
(the `sizeof (T)` thing is unnecessary, as the union will always have correct
size and alignment w/o it.)
Hope it helps.