Re: RFC: booleans and the kernel

Jakub Jelinek
2002-01-25T15:21:48Z

On Fri, Jan 25, 2002 at 04:07:50PM +0100, Werner Almesberger wrote:
> H. Peter Anvin wrote:
> > c) The ability to cast to bool and get an unambiguous true or false:
> >
> > b = (bool)a;
> >
> > This replaces the idiomatic but occationally confusing
> >
> > b = !!a;
>
> Careful, though. This example
>
> #include <stdbool.h>
> #include <stdio.h>
>
> int main(void)
> {
> int foo;
>
> foo = (bool) 4;
> printf("%d\n",foo);
> return 0;
> }
>
> e.g. compiled with gcc "2.96" (RH 7.1, 2.96-85), yields 4.

Yeah, _Bool builtin type was added to gcc 2000-11-13, ie. after 2.96-RH was
branched. It yields 1 in gcc 3.0 or 3.1 CVS though.

Jakub