------- 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