summaryrefslogtreecommitdiff
path: root/boost
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2013-07-22 16:26:27 +0300
committerTor Lillqvist <tml@iki.fi>2013-07-22 16:31:31 +0300
commit2cf07709dc23daf23ddfdfdd1091dc047cba886b (patch)
tree5495b60d6b196133a811857afdca680d3eae300e /boost
parent8b3a03a43f24ca6d072bc016d415a5339d516c32 (diff)
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
Diffstat (limited to 'boost')
-rw-r--r--boost/UnpackedTarball_boost.mk1
-rw-r--r--boost/boost.wuninitialized.patch10
2 files changed, 11 insertions, 0 deletions
diff --git a/boost/UnpackedTarball_boost.mk b/boost/UnpackedTarball_boost.mk
index 3f78005f38c2..a353b033403d 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 000000000000..1b6384e3e7fa
--- /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);