summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Terrell <terrelln@fb.com>2017-08-24 21:06:34 (GMT)
committerNick Terrell <terrelln@fb.com>2017-08-24 21:06:34 (GMT)
commit252ce14fd2ce8e4ff6038e79fe48a6b38643f8c9 (patch)
treed7c54a98654db75c7663f728b0616dc62a9f6567
parent35a39e0e53678f0045bf7148e803909434d7a834 (diff)
downloadlz4-252ce14fd2ce8e4ff6038e79fe48a6b38643f8c9.zip
lz4-252ce14fd2ce8e4ff6038e79fe48a6b38643f8c9.tar.gz
lz4-252ce14fd2ce8e4ff6038e79fe48a6b38643f8c9.tar.bz2
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.
-rw-r--r--lib/lz4.h6
1 files 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))