https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125250
Alexander Monakov <amonakov at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |amonakov at gcc dot gnu.org
--- Comment #13 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
The original testcase has 'g0' declared as 'short' in global scope, then main
takes its address into 'g4', then f5 has 'g1 = *(_Bool *)g4;', attempting to
read a bool from a short.
This seems to be a benign aliasing violation which has nothing to do with the
actual issue, and also easy to avoid: the newer testcase in comment #1 simply
declares 'g0' as _Bool instead.
Since Sam noticed the problem and offered to fix it, I'd support changing the
testcase.