[webkit-dev] Style proposal for branch style for macros
Geoffrey Garen
ggaren at apple.com
Sat Apr 19 13:22:22 PDT 2014
Can you give a motivating example from WebKit?
Geoff
On Apr 19, 2014, at 1:09 PM, Filip Pizlo <fpizlo at apple.com> wrote:
> 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
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-dev/attachments/20140419/3eefb154/attachment.html>
More information about the webkit-dev
mailing list