On 12/07/2009 10:33 AM, H.J. Lu wrote:
> Hi,
>
>
> x86-64 psABI says _Bool has 1 byte and aligned at 1 byte. It also says:
>
> ---
> When a value of type _Bool is passed in a register or on the stack,
> the upper 63 bits of the eightbyte shall be zero.
> ---
>
> However, gcc treats _Bool as char:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42324
>
> Given that gcc never zeros the upper 63 bits in register nor
> on stack, should we update x86-64 psABI to reflect what gcc
> really does?
>
Keep in mind it's not just gcc but at least also icc, the Solaris
compiler, and the Qlogic compiler... possibly others.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.