From 252ce14fd2ce8e4ff6038e79fe48a6b38643f8c9 Mon Sep 17 00:00:00 2001 From: Nick Terrell Date: Thu, 24 Aug 2017 14:06:34 -0700 Subject: [PATCH] Don't use C++11 deprecation attribute with clang Clang doesn't accept a C++11 attribute following `LZ4LIB_API`. Use the GNU attribute instead. --- lib/lz4.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/lz4.h b/lib/lz4.h index 86ca0d5..020a09d 100644 --- a/lib/lz4.h +++ b/lib/lz4.h @@ -419,9 +419,11 @@ union LZ4_streamDecode_u { # define LZ4_DEPRECATED(message) /* disable deprecation warnings */ #else # define LZ4_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) -# if defined (__cplusplus) && (__cplusplus >= 201402) /* C++14 or greater */ +# if defined(__clang__) /* clang doesn't handle mixed C++11 and CNU attributes */ +# define LZ4_DEPRECATED(message) __attribute__((deprecated(message))) +# elif defined (__cplusplus) && (__cplusplus >= 201402) /* C++14 or greater */ # define LZ4_DEPRECATED(message) [[deprecated(message)]] -# elif (LZ4_GCC_VERSION >= 405) || defined(__clang__) +# elif (LZ4_GCC_VERSION >= 405) # define LZ4_DEPRECATED(message) __attribute__((deprecated(message))) # elif (LZ4_GCC_VERSION >= 301) # define LZ4_DEPRECATED(message) __attribute__((deprecated)) -- 2.7.4