summaryrefslogtreecommitdiff
path: root/external/boost
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2016-01-19 12:01:08 +0100
committerStephan Bergmann <sbergman@redhat.com>2016-01-19 12:01:08 +0100
commit2c9d652dc7f7a1e2d0d8ea0cfcdcf47608a3d84e (patch)
tree845ae904a7664697ce5b7f29407bc9f52b33caf9 /external/boost
parent59f190a5ac18a68a60d169e87fab9c335f488da0 (diff)
Does that help old GCC that don't know -Wplacement-new
...and would thus error out with -Werror=pragmas? Change-Id: I113c43bed4d6d0c03e4c3c68684c50fd386428d9
Diffstat (limited to 'external/boost')
-rw-r--r--external/boost/UnpackedTarball_boost.mk1
-rw-r--r--external/boost/gcc6-warnings.patch.06
2 files changed, 5 insertions, 2 deletions
diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk
index b3a9c3a0be33..6b9926549b7e 100644
--- a/external/boost/UnpackedTarball_boost.mk
+++ b/external/boost/UnpackedTarball_boost.mk
@@ -87,6 +87,7 @@ boost_patches += boost_1_59_0.property_tree.wreturn-type.patch
boost_patches += clang-cl.patch.0
boost_patches += gcc6-warnings.patch.0
+boost_patches += gcc-pr69327.patch.0
$(eval $(call gb_UnpackedTarball_UnpackedTarball,boost))
diff --git a/external/boost/gcc6-warnings.patch.0 b/external/boost/gcc6-warnings.patch.0
index b0362d1ed875..e5f7b2dd6355 100644
--- a/external/boost/gcc6-warnings.patch.0
+++ b/external/boost/gcc6-warnings.patch.0
@@ -1,11 +1,12 @@
--- boost/function/function_base.hpp
+++ boost/function/function_base.hpp
-@@ -305,7 +305,14 @@
+@@ -305,7 +305,15 @@
if (op == clone_functor_tag || op == move_functor_tag) {
const functor_type* in_functor =
static_cast<const functor_type*>(static_cast<void*>(&in_buffer.data));
+#if defined __GNUC__
+#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wpragmas"
+#pragma GCC diagnostic ignored "-Wplacement-new"
+#endif
new (reinterpret_cast<void*>(&out_buffer.data)) functor_type(*in_functor);
@@ -17,12 +18,13 @@
functor_type* f = static_cast<functor_type*>(static_cast<void*>(&in_buffer.data));
--- boost/function/function_template.hpp
+++ boost/function/function_template.hpp
-@@ -569,7 +569,14 @@
+@@ -569,7 +569,15 @@
void
assign_functor(FunctionObj f, function_buffer& functor, mpl::true_) const
{
+#if defined __GNUC__
+#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wpragmas"
+#pragma GCC diagnostic ignored "-Wplacement-new"
+#endif
new (reinterpret_cast<void*>(&functor.data)) FunctionObj(f);