[Libreoffice-commits] core.git: boost/boost.wuninitialized.patch boost/UnpackedTarball_boost.mk

Tor Lillqvist tml at iki.fi
Mon Jul 22 06:31:57 PDT 2013


 boost/UnpackedTarball_boost.mk   |    1 +
 boost/boost.wuninitialized.patch |   10 ++++++++++
 2 files changed, 11 insertions(+)

New commits:
commit 2cf07709dc23daf23ddfdfdd1091dc047cba886b
Author: Tor Lillqvist <tml at iki.fi>
Date:   Mon Jul 22 16:26:27 2013 +0300

    WaE: may be used uninitialized
    
    For some reason, GCC 4.7 targeting X86 in the Android NDK 8e complained about
    the fields in the "btrd" struct in the union in binomial_distribution
    (boost/random/binomial_distribution.hpp) maybe being uninitialized in a call
    to its copy constructor. So make sure these fields are initialized in all
    cases.
    
    Change-Id: Iebae5e130cd6ca6ef5c476c6b0366d57c0303c88

diff --git a/boost/UnpackedTarball_boost.mk b/boost/UnpackedTarball_boost.mk
index 3f78005..a353b03 100644
--- a/boost/UnpackedTarball_boost.mk
+++ b/boost/UnpackedTarball_boost.mk
@@ -46,6 +46,7 @@ boost_patches += boost.wunused.patch
 boost_patches += boost.wshadow.patch
 boost_patches += boost.wconstexpr-not-const.patch.0
 boost_patches += boost.wdeprecated-register.patch.0
+boost_patches += boost.wuninitialized.patch
 
 $(eval $(call gb_UnpackedTarball_UnpackedTarball,boost))
 
diff --git a/boost/boost.wuninitialized.patch b/boost/boost.wuninitialized.patch
new file mode 100644
index 0000000..1b6384e
--- /dev/null
+++ b/boost/boost.wuninitialized.patch
@@ -0,0 +1,10 @@
+--- foo/foo/foo/boost/random/binomial_distribution.hpp
++++ foo/foo/foo/boost/random/binomial_distribution.hpp
+@@ -278,6 +278,7 @@
+         m = static_cast<IntType>((t_lcl+1)*p_lcl);
+ 
+         if(use_inversion()) {
++            btrd.r = btrd.nr = btrd.npq = btrd.b = btrd.a = btrd.c = btrd.alpha = btrd.v_r = btrd.u_rv_r = 0;
+             q_n = pow((1 - p_lcl), static_cast<RealType>(t_lcl));
+         } else {
+             btrd.r = p_lcl/(1-p_lcl);


More information about the Libreoffice-commits mailing list