summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2016-05-30 17:49:20 +0200
committerMichael Stahl <mstahl@redhat.com>2016-05-30 17:49:20 +0200
commitac5fd13937a6eb708c45064948219b0ade040641 (patch)
treef1b0ba15c77dc93d6f0d9e775c24d31864aceab0 /external
parent84fb4be390a7a09c27f3aa1f004c022f0cdc192a (diff)
boost: restore boost.gcc47679.patch
One of the tinderboxes fails with mysterious warning: include/tools/gen.hxx:418:36: error: '*((void*)& aViewportExt +16)' may be used uninitialized in this function [-Werror=maybe-uninitialized] nBottom = rSize.Height() ? nTop+rSize.Height()-1 : RECT_EMPTY; Change-Id: I62bf99d1a623ba4bd9d7db5fe049366d0f20e26f
Diffstat (limited to 'external')
-rw-r--r--external/boost/UnpackedTarball_boost.mk3
-rw-r--r--external/boost/boost.gcc47679.patch63
2 files changed, 66 insertions, 0 deletions
diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk
index 60d4a0385d15..604f882d95b0 100644
--- a/external/boost/UnpackedTarball_boost.mk
+++ b/external/boost/UnpackedTarball_boost.mk
@@ -9,6 +9,9 @@
boost_patches :=
+#http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47679
+boost_patches += boost.gcc47679.patch
+
#https://svn.boost.org/trac/boost/ticket/6142
boost_patches += boost.6142.warnings.patch.1
diff --git a/external/boost/boost.gcc47679.patch b/external/boost/boost.gcc47679.patch
new file mode 100644
index 000000000000..06cbd0f10729
--- /dev/null
+++ b/external/boost/boost.gcc47679.patch
@@ -0,0 +1,63 @@
+diff -ru boost.orig/boost/optional/optional.hpp boost/boost/optional/optional.hpp
+--- foo/misc/boost.orig/boost/optional/optional.hpp 2015-07-18 11:27:36.168127029 +0200
++++ foo/misc/boost/boost/optional/optional.hpp 2015-07-18 20:36:13.777997833 +0200
+@@ -53,6 +53,8 @@
+
+ #include <boost/optional/optional_fwd.hpp>
+
++#include <string.h>
++
+ #if (defined BOOST_NO_CXX11_RVALUE_REFERENCES) || (defined BOOST_OPTIONAL_CONFIG_NO_RVALUE_REFERENCES)
+ #define BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
+ #endif
+@@ -134,6 +136,11 @@
+
+ public:
+
++ aligned_storage()
++ {
++ memset(&dummy_, 0, sizeof(dummy_));
++ }
++
+ #if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
+ void const* address() const { return &dummy_; }
+ void * address() { return &dummy_; }
+diff -ru boost.orig/boost/spirit/home/classic/core/primitives/impl/numerics.ipp boost/boost/spirit/home/classic/core/primitives/impl/numerics.ipp
+--- foo/misc/boost.orig/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2015-07-18 11:27:36.169127029 +0200
++++ foo/misc/boost/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2015-07-18 20:34:32.110998976 +0200
+@@ -218,6 +218,19 @@
+ }
+ }
+ };
++ template <int Radix>
++ struct negative_accumulate<unsigned char, Radix>
++ {
++ // Use this accumulator if number is negative
++ static bool add(unsigned char& n, unsigned digit)
++ {
++ n *= Radix;
++ if (n < digit)
++ return false;
++ n -= digit;
++ return true;
++ }
++ };
+
+ template <int MaxDigits>
+ inline bool allow_more_digits(std::size_t i)
+diff -ru boost.orig/boost/utility/compare_pointees.hpp boost/boost/utility/compare_pointees.hpp
+--- foo/misc/boost.orig/boost/utility/compare_pointees.hpp 2015-02-27 07:26:11.000000000 +0100
++++ foo/misc/boost/boost/utility/compare_pointees.hpp 2015-07-18 20:20:41.388988458 +0200
+@@ -29,7 +29,11 @@
+ inline
+ bool equal_pointees ( OptionalPointee const& x, OptionalPointee const& y )
+ {
+- return (!x) != (!y) ? false : ( !x ? true : (*x) == (*y) ) ;
++ if (!x && !y)
++ return true;
++ if (!x || !y)
++ return false;
++ return (*x) == (*y);
+ }
+
+ template<class OptionalPointee>