[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