X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=lib%2Fbitfield.h;h=a9e268b4153031d9eb10ccae39df17c5f310b7ed;hb=1c88f269135ba48b0adb8a8a1f8b32e8b3c4cbb9;hp=2f7c01dfc8d6f61289dc96051267e658c43f1f36;hpb=437f89c7829f1e85f39204bdbac0671c64361da5;p=lttng-modules.git diff --git a/lib/bitfield.h b/lib/bitfield.h index 2f7c01df..a9e268b4 100644 --- a/lib/bitfield.h +++ b/lib/bitfield.h @@ -29,8 +29,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") @@ -44,6 +46,7 @@ # define _BT_DIAG_PUSH # define _BT_DIAG_POP # define _BT_DIAG_IGNORE +# define _BT_DIAG_IGNORE_TYPE_LIMITS #endif #define _bt_is_signed_type(type) ((type) -1 < (type) 0)