From ac75c63001eb5a1ec24a53d4a0848088f1a0e2b2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Nov 2019 17:24:55 +0100 Subject: [PATCH] [libcalamares] Reduce warnings with Clang 9 (Boost::Python) - The boost headers fall foul of tons of Clang warnings, so introduce a mechanism like moc-headers for turning off most of those warnings. --- src/libcalamares/PythonHelper.cpp | 5 +++++ src/libcalamares/PythonHelper.h | 6 ++++++ src/libcalamares/PythonJobApi.cpp | 5 +++++ src/libcalamares/utils/boost-warnings.h | 8 ++++++++ 4 files changed, 24 insertions(+) create mode 100644 src/libcalamares/utils/boost-warnings.h diff --git a/src/libcalamares/PythonHelper.cpp b/src/libcalamares/PythonHelper.cpp index 670390d6c..26a57ec14 100644 --- a/src/libcalamares/PythonHelper.cpp +++ b/src/libcalamares/PythonHelper.cpp @@ -26,8 +26,13 @@ #include #undef slots +#include "utils/boost-warnings.h" #include +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + namespace bp = boost::python; namespace CalamaresPython diff --git a/src/libcalamares/PythonHelper.h b/src/libcalamares/PythonHelper.h index 667a08614..9035ba6d4 100644 --- a/src/libcalamares/PythonHelper.h +++ b/src/libcalamares/PythonHelper.h @@ -25,10 +25,16 @@ #include #undef slots +#include "utils/boost-warnings.h" + #include #include #include +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + namespace CalamaresPython { diff --git a/src/libcalamares/PythonJobApi.cpp b/src/libcalamares/PythonJobApi.cpp index 610003492..7b65e979c 100644 --- a/src/libcalamares/PythonJobApi.cpp +++ b/src/libcalamares/PythonJobApi.cpp @@ -32,8 +32,13 @@ #include #undef slots +#include "utils/boost-warnings.h" #include +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + namespace bp = boost::python; static int diff --git a/src/libcalamares/utils/boost-warnings.h b/src/libcalamares/utils/boost-warnings.h new file mode 100644 index 000000000..65a66b0f6 --- /dev/null +++ b/src/libcalamares/utils/boost-warnings.h @@ -0,0 +1,8 @@ +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-id-macro" +#pragma clang diagnostic ignored "-Wold-style-cast" +#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" +#pragma clang diagnostic ignored "-Wextra-semi-stmt" +#pragma clang diagnostic ignored "-Wall" +#endif