https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101953
--- Comment #6 from M W <mlwmohawk at gmail dot com> --- "Unexpected because not understanding C/C++ standard is normal these days." I'm sort of ticked off by that. I have used some form of this code for over two decades on a lot of different platforms. Mac, Windows, Linux, and Sun and have never seen this behavior. At the very minimum, there should be an error that asserts that states "Result set to zero for 'reason'" because there is code that assumes that a good faith bitwise return would be appropriate.