[Libreoffice-commits] core.git: external/boost

Michael Stahl mstahl at redhat.com
Mon May 30 15:55:50 UTC 2016


 external/boost/UnpackedTarball_boost.mk |    3 +
 external/boost/boost.gcc47679.patch     |   63 ++++++++++++++++++++++++++++++++
 2 files changed, 66 insertions(+)

New commits:
commit ac5fd13937a6eb708c45064948219b0ade040641
Author: Michael Stahl <mstahl at redhat.com>
Date:   Mon May 30 17:49:20 2016 +0200

    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

diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk
index 60d4a03..604f882 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 0000000..06cbd0f
--- /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>


More information about the Libreoffice-commits mailing list