Re: [PATCH v3 tip/core/rcu 05/40] rcu: Semicolon inside RCU_TRACE() for rcu.h

From: Joe Perches
Date: Wed Apr 19 2017 - 13:41:44 EST


On Wed, 2017-04-19 at 09:58 -0700, Paul E. McKenney wrote:
> The current use of "RCU_TRACE(statement);" can cause odd bugs, especially
> where "statement" is a local-variable declaration, as it can leave a
> misplaced ";" in the source code. This commit therefore converts these
> to "RCU_TRACE(statement;)", which avoids the misplaced ";".

Perhaps instead the single RCU_TRACE macro should be split
into RCU_TRACE_DECLARE and RCU_TRACE, and then RCU_TRACE
should use do {} while (0)