[webkit-dev] Style proposal for branch style for macros
Filip Pizlo
fpizlo at apple.com
Sat Apr 19 13:09:24 PDT 2014
Hey everyone,
When guarding code with macros that are always defined, such as ASSERT_DISABLED (it's always either 0 or 1), we have a choice between:
if (!ASSERT_DISABLED) {
// do things
}
and:
#if !ASSERT_DISABLED
// do things
#endif
I'd like to propose that anytime the normal if would be semantically equivalent to the preprocessor #if, the normal if should be used.
We don't lose any compiler optimization, since even at -O0, the compiler will constant fold the normal if. We do gain a lot of clarity, since the control flow of normal if statements is subject to proper indentation.
The "semantically equivalent" requirement still allows for #if to be used for thinngs like:
- Guarding the placement of fields in a class.
- Guarding the definitions of other macros (in the case of ASSERT_DISABLED, we define ASSERT in different ways guarded by #if's)
- Guarding the definition/declaration/inclusion of entire functions, classes, and other top-level constructs.
Thoughts?
-Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-dev/attachments/20140419/52541ff9/attachment.html>
More information about the webkit-dev
mailing list