Messages in this thread | | | Date | Thu, 20 Jul 2006 21:34:45 -0400 | From | Jeff Garzik <> | Subject | Re: [RFC][PATCH] A generic boolean (version 2) |
| |
ricknu-0@student.ltu.se wrote: > diff --git a/include/asm-i386/types.h b/include/asm-i386/types.h > index 4b4b295..841792b 100644 > --- a/include/asm-i386/types.h > +++ b/include/asm-i386/types.h > @@ -1,6 +1,13 @@ > #ifndef _I386_TYPES_H > #define _I386_TYPES_H > > +#if defined(__GNUC__) > +typedef _Bool bool; > +#else > +#warning You compiler doesn't seem to support boolean types, will set 'bool' as > an 'unsigned int' > +typedef unsigned int bool; > +#endif > + > #ifndef __ASSEMBLY__ > > typedef unsigned short umode_t;
Just delete the #ifdef and assume its either gcc, or a compatible compiler. That's what we assume with other data types.
> @@ -10,6 +17,8 @@ typedef unsigned short umode_t; > * header files exported to user space > */ > > +typedef bool __u1; > + > typedef __signed__ char __s8; > typedef unsigned char __u8; > > @@ -36,6 +45,8 @@ #define BITS_PER_LONG 32 > #ifndef __ASSEMBLY__ > > > +typedef bool u1; > + > typedef signed char s8; > typedef unsigned char u8; >
I wouldn't bother with these types. Nobody uses creates in their own hand-crafted bool uses, so I don't think people would suddenly start.
> diff --git a/include/linux/stddef.h b/include/linux/stddef.h > index b3a2cad..498813b 100644 > --- a/include/linux/stddef.h > +++ b/include/linux/stddef.h > @@ -10,6 +10,9 @@ #else > #define NULL ((void *)0) > #endif > > +#define false ((0)) > +#define true ((1))
I would say:
#undef true #undef false enum { false = 0, true = 1 };
#define false false #define true true
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |