From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Date: Mon, 7 Jan 2013 16:50:52 -0600 Subject: [U-Boot] [PATCH] Introduce a global bool type In-Reply-To: <20130107223942.94BED20DA7E@gemini.denx.de> (from wd@denx.de on Mon Jan 7 16:39:42 2013) Message-ID: <1357599052.1113.14@snotra> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 01/07/2013 04:39:42 PM, Wolfgang Denk wrote: > Dear York Sun, > > In message <1357596628-27501-1-git-send-email-yorksun@freescale.com> > you wrote: > > 'bool' is defined in random places. This patch consolidates them > into a > > single typedef. > > Has this been actually compile tested? > > ... > > --- a/include/linux/types.h > > +++ b/include/linux/types.h > > @@ -113,6 +113,8 @@ typedef __u64 u_int64_t; > > typedef __s64 int64_t; > > #endif > > > > +typedef _Bool bool; > > And what exactly would "_Bool" be? It's a standard C99 type (as is bool, but _Bool comes directly from the compiler rather than from headers). > ... > > --- a/include/xyzModem.h > > +++ b/include/xyzModem.h > > @@ -97,11 +97,6 @@ typedef struct { > > #endif > > } connection_info_t; > > > > -#ifndef BOOL_WAS_DEFINED > > -#define BOOL_WAS_DEFINED > > -typedef unsigned int bool; > > -#endif > > - > > #define false 0 > > #define true 1 > > And don't these remaining definitions of "false" and "true" cause > nasty build errors somewhere? Yes, the definition of true/false needs to move along with the definition of bool. > This seems broken to me. Can we rather try8 and get rid of all this > "bool" stuff instead? It's just obfuscating the code... That's obviously a matter of opinion (I think "bool" is clearer than "int"), but I'd like to point out that Linux's use of bool has been growing, and U-Boot often borrows code from Linux... Also, FWIW the compiler will generally allocate only one byte for a built-in boolean, so there is a minor run-time benefit in some situations. -Scott