summaryrefslogtreecommitdiff
path: root/CodingStyle
diff options
context:
space:
mode:
authorYAMAMOTO Takashi <yamamoto@valinux.co.jp>2014-09-30 07:59:36 +0900
committerYAMAMOTO Takashi <yamamoto@valinux.co.jp>2014-10-01 09:25:06 +0900
commitd7fdacb78804599141d56c98a303e2ba6c12fd9b (patch)
tree54c342852819142090e76c2b3ac96f4a59ca4050 /CodingStyle
parentee8627fa801a23084f211d5c6523b9c46c6d13e7 (diff)
downloadopenvswitch-d7fdacb78804599141d56c98a303e2ba6c12fd9b.tar.gz
CodingStyle: Mention our assumption about conversions to bool
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Acked-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'CodingStyle')
-rw-r--r--CodingStyle5
1 files changed, 5 insertions, 0 deletions
diff --git a/CodingStyle b/CodingStyle
index c9b998922..d1ef65b5a 100644
--- a/CodingStyle
+++ b/CodingStyle
@@ -541,6 +541,11 @@ C DIALECT
* bool and <stdbool.h>, 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};").