Re: Conversion to generic boolean

Peter Williams
2006-08-29T13:26:14Z

Jan Engelhardt wrote:
>>>> That is error-prone. Not "==FALSE" but what happens if x is (for some
>>>> reason) not 1 and then "if (x==TRUE)".
>>> If you're using _Bool, that isn't possible. (Except at the boundaries
>>> where you have to validate untrusted data -- and the compiler makes that
>>> more difficult, because it "knows" that a _Bool can only be 0 or 1 and
>>> therefore your check to see if it's not 0 or 1 can "safely" be
>>> eliminated.)
>> gcc lets you happily assign any integer value to bool/_Bool, so unless
>
> But, it coerces the rvalue into 0 or 1, which may be a gain.

Actually, it's not coercion. It's the result of evaluating the value as
a boolean expression.

>
>> you write sparse support for actually checking things there's not the
>> slightest advantage in value range checking.
>
>
> Jan Engelhardt

--
Peter Williams pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce