------- Comment #5 from rguenth at gcc dot gnu dot org 2009-12-07 20:49 ------- The ABI says "is passed", not "is returned". The frontend did return-value promotion until I disabled that (see endless discussions and libffi fixes at that point).
So where is a _Bool passed in a registed or on the stack in your testcases? I see the _Bool on stack is properly extended to 32bits. That the ABI requires 64bits here for _Bool seems odd - does it require that for char and int, too? There is an invalid dup for the return value promotion btw. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |4.3.5 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42324