From: Mathieu Desnoyers Date: Mon, 18 Jun 2012 14:22:12 +0000 (-0400) Subject: Fix c99 compatibility: tp_rcu_dereference_bp() should not use braced-groups within... X-Git-Tag: v2.1.0-rc1~56 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=4d3b06fe77725f267b85502dbeb51991296b9389;p=lttng-ust.git Fix c99 compatibility: tp_rcu_dereference_bp() should not use braced-groups within expressions Allow tp_rcu_dereference_bp() to be used within programs compiled with --std=c99 -pedantic -Werror. Fixes the following: In file included from hello.c:34:0: ust_tests_hello.h: In function ‘__tracepoint_cb_ust_tests_hello___tptest’: ust_tests_hello.h:28:1: warning: ISO C forbids braced-groups within expressions [-pedantic] ust_tests_hello.h:28:1: warning: ISO C forbids conversion of object pointer to function pointer type [-pedantic] We can easily fix this one since tp_rcu_dereference_bp() really evaluates only a single expression. Signed-off-by: Mathieu Desnoyers --- diff --git a/include/lttng/tracepoint-rcu.h b/include/lttng/tracepoint-rcu.h index a754048c..2e0a79fd 100644 --- a/include/lttng/tracepoint-rcu.h +++ b/include/lttng/tracepoint-rcu.h @@ -31,12 +31,9 @@ #define tp_rcu_read_lock_bp tracepoint_dlopen.rcu_read_lock_sym_bp #define tp_rcu_read_unlock_bp tracepoint_dlopen.rcu_read_unlock_sym_bp -#define tp_rcu_dereference_bp(p) \ - ({ \ - __typeof__(p) _________p1 = URCU_FORCE_CAST(__typeof__(p), \ - tracepoint_dlopen.rcu_dereference_sym_bp(URCU_FORCE_CAST(void *, p))); \ - (_________p1); \ - }) +#define tp_rcu_dereference_bp(p) \ + URCU_FORCE_CAST(__typeof__(p), \ + tracepoint_dlopen.rcu_dereference_sym_bp(URCU_FORCE_CAST(void *, p))) #define TP_RCU_LINK_TEST() tp_rcu_read_lock_bp