Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/src/catch2
diff options
context:
space:
mode:
authorMartin Hořeňovský2024-04-30 21:08:35 +0200
committerMartin Hořeňovský2024-04-30 23:51:36 +0200
commitfa5a53df17303339eff8fda5cae0b601af207085 (patch)
treeebfb2cdaf2c90e74985b9549c7f6c6c6292941e2 /src/catch2
parenta654e4b0382f3c41bdb911739b05276a11cf644a (diff)
downloadcatch3-fa5a53df17303339eff8fda5cae0b601af207085.tar.gz
Explicitly silence Wnon-virtual-dtor in Decomposer and MatchExpr
Closes #2854
Diffstat (limited to 'src/catch2')
-rw-r--r--src/catch2/internal/catch_decomposer.hpp2
-rw-r--r--src/catch2/matchers/internal/catch_matchers_impl.hpp17
2 files changed, 19 insertions, 0 deletions
diff --git a/src/catch2/internal/catch_decomposer.hpp b/src/catch2/internal/catch_decomposer.hpp
index 41365b70..7962c9ef 100644
--- a/src/catch2/internal/catch_decomposer.hpp
+++ b/src/catch2/internal/catch_decomposer.hpp
@@ -110,9 +110,11 @@
#ifdef __clang__
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wsign-compare"
+# pragma clang diagnostic ignored "-Wnon-virtual-dtor"
#elif defined __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wsign-compare"
+# pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
#endif
#if defined(CATCH_CPP20_OR_GREATER) && __has_include(<compare>)
diff --git a/src/catch2/matchers/internal/catch_matchers_impl.hpp b/src/catch2/matchers/internal/catch_matchers_impl.hpp
index 2ee9f0c0..8d013fa2 100644
--- a/src/catch2/matchers/internal/catch_matchers_impl.hpp
+++ b/src/catch2/matchers/internal/catch_matchers_impl.hpp
@@ -18,6 +18,16 @@
namespace Catch {
+#ifdef __clang__
+# pragma clang diagnostic push
+# pragma clang diagnostic ignored "-Wsign-compare"
+# pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#elif defined __GNUC__
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wsign-compare"
+# pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+
template<typename ArgT, typename MatcherT>
class MatchExpr : public ITransientExpression {
ArgT && m_arg;
@@ -36,6 +46,13 @@ namespace Catch {
}
};
+#ifdef __clang__
+# pragma clang diagnostic pop
+#elif defined __GNUC__
+# pragma GCC diagnostic pop
+#endif
+
+
namespace Matchers {
template <typename ArgT>
class MatcherBase;