Re: [PATCH] manual: _Bool has trap representations

2016-09-20 Thread Joseph Myers
On Tue, 20 Sep 2016, Florian Weimer wrote:

> On 09/19/2016 11:26 PM, Joseph Myers wrote:
> > On powerpc-darwin _Bool is 4-byte not 1-byte, so saying values are
> > represented as bytes isn't accurate for all systems supported by GCC.
> 
> Interesting.
> 
> Is the treatment of 0/1/the rest still the same there?

Yes.

-- 
Joseph S. Myers
jos...@codesourcery.com


Re: [PATCH] manual: _Bool has trap representations

2016-09-19 Thread Florian Weimer

On 09/19/2016 11:26 PM, Joseph Myers wrote:

On powerpc-darwin _Bool is 4-byte not 1-byte, so saying values are
represented as bytes isn't accurate for all systems supported by GCC.


Interesting.

Is the treatment of 0/1/the rest still the same there?

Thanks,
Florian



Re: [PATCH] manual: _Bool has trap representations

2016-09-19 Thread Joseph Myers
On powerpc-darwin _Bool is 4-byte not 1-byte, so saying values are 
represented as bytes isn't accurate for all systems supported by GCC.

-- 
Joseph S. Myers
jos...@codesourcery.com


[PATCH] manual: _Bool has trap representations

2016-09-19 Thread Florian Weimer
Defined behavior for extraordinary values of _Bool would be preferable, 
but we can at least document what we have now.


Thanks,
Florian


2016-09-19  Florian Weimer  

* doc/implement-c.texi (Integers implementation): _Bool has trap
representations.


Index: gcc/doc/implement-c.texi
===
--- gcc/doc/implement-c.texi	(revision 240228)
+++ gcc/doc/implement-c.texi	(working copy)
@@ -239,9 +239,13 @@
 two's complement, or one's complement, and whether the extraordinary value
 is a trap representation or an ordinary value (C99 and C11 6.2.6.2).}
 
-GCC supports only two's complement integer types, and all bit patterns
-are ordinary values.
+The standard integer types except @code{_Bool} are represented in two's
+complement, and all bit patterns are ordinary values.
 
+Ordinary values of @code{_Bool} are stored in memory as bytes with
+values 0 or 1.  Other byte values are trap representations of the
+@code{_Bool} type.
+
 @item
 @cite{The rank of any extended integer type relative to another extended
 integer type with the same precision (C99 and C11 6.3.1.1).}