summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--external/mysqlcppconn/Library_mysqlcppconn.mk9
-rw-r--r--mysqlc/source/mysqlc_general.hxx7
2 files changed, 16 insertions, 0 deletions
diff --git a/external/mysqlcppconn/Library_mysqlcppconn.mk b/external/mysqlcppconn/Library_mysqlcppconn.mk
index e2894824bc18..70599b05e328 100644
--- a/external/mysqlcppconn/Library_mysqlcppconn.mk
+++ b/external/mysqlcppconn/Library_mysqlcppconn.mk
@@ -58,6 +58,15 @@ $(eval $(call gb_Library_add_libs,mysqlcppconn,\
))
endif
+# Avoid -Wdynamic-exception-spec errors in Clang C++17 mode:
+ifeq ($(COM_IS_CLANG),TRUE)
+$(eval $(call gb_Library_add_cxxflags,mysqlcppconn, \
+ $(if $(filter -std=gnu++17 -std=gnu++1z -std=c++17 -std=c++1z, \
+ $(CXXFLAGS_CXX11)), \
+ -Wno-error=dynamic-exception-spec) \
+))
+endif
+
$(eval $(call gb_Library_add_generated_exception_objects,mysqlcppconn,\
UnpackedTarball/mysqlcppconn/driver/mysql_art_resultset \
UnpackedTarball/mysqlcppconn/driver/mysql_art_rset_metadata \
diff --git a/mysqlc/source/mysqlc_general.hxx b/mysqlc/source/mysqlc_general.hxx
index 5d0b828c3e51..d3e12ee11c2c 100644
--- a/mysqlc/source/mysqlc_general.hxx
+++ b/mysqlc/source/mysqlc_general.hxx
@@ -29,7 +29,14 @@
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated"
#endif
+#if defined __clang__ && __cplusplus > 201402L
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdynamic-exception-spec"
+#endif
#include <cppconn/exception.h>
+#if defined __clang__ && __cplusplus > 201402L
+#pragma clang diagnostic pop
+#endif
#if defined __GNUC__
#pragma GCC diagnostic pop
#endif