http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54130
--- Comment #10 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-08-01 09:26:53 UTC --- (In reply to comment #9) > I realize that several (not all) of the things discussed here assume that > functions returning bool and int are binary compatible, which is likely true > on > most platforms but there might be exceptions. It's not true on x86_64 - return values are not extended to word_mode thus you may have garbage in the upper parts of %eax for bool.