Commit 0b12f91f by Jason Rhinelander

Only disable placement-new warning under gcc >= 6

Otherwise this would create unknown option warnings under g++ < 6.
parent cae0e009
...@@ -82,12 +82,12 @@ protected: ...@@ -82,12 +82,12 @@ protected:
/* Store the capture object directly in the function record if there is enough space */ /* Store the capture object directly in the function record if there is enough space */
if (sizeof(capture) <= sizeof(rec->data)) { 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 push
# pragma GCC diagnostic ignored "-Wplacement-new" # pragma GCC diagnostic ignored "-Wplacement-new"
#endif #endif
new ((capture *) &rec->data) capture { std::forward<Func>(f) }; new ((capture *) &rec->data) capture { std::forward<Func>(f) };
#if defined(__GNUG__) && !defined(__clang__) #if defined(__GNUG__) && !defined(__clang__) && __GNUC__ >= 6
# pragma GCC diagnostic pop # pragma GCC diagnostic pop
#endif #endif
if (!std::is_trivially_destructible<Func>::value) if (!std::is_trivially_destructible<Func>::value)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment