From d7fdacb78804599141d56c98a303e2ba6c12fd9b Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Tue, 30 Sep 2014 07:59:36 +0900 Subject: [PATCH] CodingStyle: Mention our assumption about conversions to bool Signed-off-by: YAMAMOTO Takashi Acked-by: Ben Pfaff --- CodingStyle | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CodingStyle b/CodingStyle index c9b998922..d1ef65b5a 100644 --- a/CodingStyle +++ b/CodingStyle @@ -541,6 +541,11 @@ C DIALECT * bool and , but don't assume that bool or _Bool can only take on the values 0 or 1, because this behavior can't be simulated on C89 compilers. + Also, don't assume that a conversion to bool or _Bool follows + C99 semantics. I.e. use "(bool)(some_value != 0)" rather than + "(bool)some_value". The latter might produce unexpected results + on non-C99 environments. For example, if bool is implemented as + a typedef of char and some_value = 0x10000000. * Designated initializers (e.g. "struct foo foo = {.a = 1};" and "int a[] = {[2] = 5};").