Re: [PATCH] slab.h: Avoid using & for logical and of booleans

From: Bart Van Assche
Date: Mon Nov 05 2018 - 19:32:56 EST


On Mon, 2018-11-05 at 16:11 -0800, Alexander Duyck wrote:
+AD4 If we really don't care then why even bother with the switch statement
+AD4 anyway? It seems like you could just do one ternary operator and be
+AD4 done with it. Basically all you need is:
+AD4 return (defined(CONFIG+AF8-ZONE+AF8-DMA) +ACYAJg (flags +ACY +AF8AXw-GFP+AF8-DMA)) ? KMALLOC+AF8-DMA :
+AD4 (flags +ACY +AF8AXw-GFP+AF8-RECLAIMABLE) ? KMALLOC+AF8-RECLAIM : 0+ADs
+AD4
+AD4 Why bother with all the extra complexity of the switch statement?

I don't think that defined() can be used in a C expression. Hence the
IS+AF8-ENABLED() macro. If you fix that, leave out four superfluous parentheses,
test your patch, post that patch and cc me then I will add my Reviewed-by.

Bart.