From 8ae4aa03362d5ce0413d9fc92cac2b96e89d579b Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Mon, 18 Jun 2012 10:22:12 -0400 Subject: [PATCH] Fix c99 compatibility: tp_rcu_dereference_bp() should not use braced-groups within expressions MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- include/lttng/tracepoint-rcu.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) 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 -- 2.34.1