From 0b12f91fa3fd8994d2683db4059821b97d739103 Mon Sep 17 00:00:00 2001 From: Jason Rhinelander Date: Thu, 7 Jul 2016 16:26:04 -0400 Subject: [PATCH] Only disable placement-new warning under gcc >= 6 Otherwise this would create unknown option warnings under g++ < 6. --- include/pybind11/pybind11.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/pybind11/pybind11.h b/include/pybind11/pybind11.h index b7833fc60..3c9e6910d 100644 --- a/include/pybind11/pybind11.h +++ b/include/pybind11/pybind11.h @@ -82,12 +82,12 @@ protected: /* Store the capture object directly in the function record if there is enough space */ if (sizeof(capture) <= sizeof(rec->data)) { -#if defined(__GNUG__) && !defined(__clang__) +#if defined(__GNUG__) && !defined(__clang__) && __GNUC__ >= 6 # pragma GCC diagnostic push # pragma GCC diagnostic ignored "-Wplacement-new" #endif new ((capture *) &rec->data) capture { std::forward(f) }; -#if defined(__GNUG__) && !defined(__clang__) +#if defined(__GNUG__) && !defined(__clang__) && __GNUC__ >= 6 # pragma GCC diagnostic pop #endif if (!std::is_trivially_destructible::value)