[lttng-dev] [PATCH lttng-ust 2/2] Fix: do not use diagnostic pragma when GCC version is lower than 4.6.0

Jonathan Rajotte jonathan.rajotte-julien at efficios.com
Thu Jul 4 14:51:37 EDT 2019


Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien at efficios.com>
---
 include/lttng/bitfield.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/lttng/bitfield.h b/include/lttng/bitfield.h
index 92f1c2c9..5ed62938 100644
--- a/include/lttng/bitfield.h
+++ b/include/lttng/bitfield.h
@@ -44,8 +44,10 @@
 /*
  * _bt_is_signed_type() willingly generates comparison of unsigned
  * expression < 0, which is always false. Silence compiler warnings.
+ * GCC versions lower than 4.6.0 do not accept diagnostic pragma inside
+ * functions.
  */
-#ifdef __GNUC__
+#if defined (__GNUC__) && (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
 # define _BT_DIAG_PUSH			_Pragma("GCC diagnostic push")
 # define _BT_DIAG_POP			_Pragma("GCC diagnostic pop")
 
-- 
2.17.1



More information about the lttng-dev mailing list