http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53663
--- Comment #10 from Mikael Pettersson <mikpe at it dot uu.se> 2012-09-23 22:12:07 UTC --- Although -fno-tree-fre works for the test case in #c3, adjusting it to use __builtin_memcpy() for the assignment in f() results in wrong code even with -fno-tree-fre. The bug seems _Bool-specific. Replacing the _Bool with unsigned char b:1 gives working code regardless of compiler options.