summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-10-03 10:50:18 +0200
committerCarl Hetherington <cth@carlh.net>2025-10-03 10:50:18 +0200
commite608b071c9cc71e6c10ba8f485877d679dce7641 (patch)
tree58d24acb375000dbf12ca6be2ead4aba33557917
parenteae7333e2a23efee97a3f67fd27eb449f8f46c80 (diff)
Attempt to fix clang warnings for clang < 17.warnings
-rw-r--r--src/warnings.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/warnings.h b/src/warnings.h
index ae01f60b..b072fcf4 100644
--- a/src/warnings.h
+++ b/src/warnings.h
@@ -32,7 +32,7 @@
*/
-#if defined(__clang__)
+#if __clang_major__ >= 17
#define LIBDCP_DISABLE_WARNINGS \
_Pragma("GCC diagnostic push") \
_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
@@ -43,8 +43,17 @@
_Pragma("GCC diagnostic ignored \"-Woverloaded-virtual\"") \
_Pragma("GCC diagnostic ignored \"-Wtautological-overlap-compare\"") \
_Pragma("GCC diagnostic ignored \"-Wcast-function-type-mismatch\"")
-#else
-#if __GNUC__ >= 14
+#elif defined(__clang__)
+#define LIBDCP_DISABLE_WARNINGS \
+ _Pragma("GCC diagnostic push") \
+ _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
+ _Pragma("GCC diagnostic ignored \"-Wmissing-field-initializers\"") \
+ _Pragma("GCC diagnostic ignored \"-Wunused-parameter\"") \
+ _Pragma("GCC diagnostic ignored \"-Waddress\"") \
+ _Pragma("GCC diagnostic ignored \"-Wparentheses\"") \
+ _Pragma("GCC diagnostic ignored \"-Woverloaded-virtual\"") \
+ _Pragma("GCC diagnostic ignored \"-Wtautological-overlap-compare\"")
+#elif __GNUC__ >= 14
#define LIBDCP_DISABLE_WARNINGS \
_Pragma("GCC diagnostic push") \
_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
@@ -89,7 +98,6 @@
_Pragma("GCC diagnostic ignored \"-Waddress\"") \
_Pragma("GCC diagnostic ignored \"-Wparentheses\"")
#endif
-#endif
#define LIBDCP_ENABLE_WARNINGS \
_Pragma("GCC diagnostic pop")