On Wed, Dec 9, 2009 at 7:10 AM, Andrew Haley <a...@redhat.com> wrote: > H. Peter Anvin wrote: >> On 12/09/2009 06:56 AM, Michael Matz wrote: >>>> Aren't bits in the _Bool byte of"bar" specified by the psABI >>> Right now they are specified in the psABI, you suggested to remove that >>> specification. >>> >> >> The intent of H.J.'s proposal is to require bits <7:1> == 0 in all cases >> (and higher bits as don't cares, the same way a char is passed), as >> opposed to the current text which requires <63:1> == 0 when passed as >> registers or on the stack (and <7:1> == 0 when stored in a memory >> object.) Furthermore, the current psABI text is inconsistent for >> arguments are return values; this is a bug in the wordsmithing of the >> text rather than intentional, if I remember the original discussions >> correctly. > > Surely Postel's Law applies: > > Be conservative in what you do; be liberal in what you accept from others. > > So, return values should be zero-extended to the full word, but we shouldn't > assume that parameters will be. >
I guess you missed the discussion around July 2007: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42324#c5 -- H.J.