summaryrefslogtreecommitdiff
path: root/boost
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-02-10 16:55:32 +0000
committerCaolán McNamara <caolanm@redhat.com>2011-02-10 20:26:53 +0000
commite44bf622500365c1244febc5d4d8aceb3b0af428 (patch)
tree7de999c1d447283f75bbf47a01dc6fe54c691162 /boost
parent438060cd27d23809006b805649fdc937ccde731a (diff)
workaround gcc#47679
Diffstat (limited to 'boost')
-rw-r--r--boost/boost.4713.warnings.patch40
-rw-r--r--boost/boost.gcc47679.patch15
-rw-r--r--boost/makefile.mk2
3 files changed, 57 insertions, 0 deletions
diff --git a/boost/boost.4713.warnings.patch b/boost/boost.4713.warnings.patch
index 73b3727aaeae..e323c448e492 100644
--- a/boost/boost.4713.warnings.patch
+++ b/boost/boost.4713.warnings.patch
@@ -811,3 +811,43 @@
}
public: // algorithms
+--- misc/boost_1_44_0/boost/unordered/detail/table.hpp 2011-02-10 15:04:57.999046223 +0000
++++ misc/build/boost_1_44_0/boost/unordered/detail/table.hpp 2011-02-10 15:05:44.260588237 +0000
+@@ -119,7 +119,7 @@
+
+ // From 6.3.1/13:
+ // Only resize when size >= mlf_ * count
+- return double_to_size_t(ceil((double) mlf_ * this->bucket_count_));
++ return double_to_size_t(ceil((double)mlf_ * (double)this->bucket_count_));
+ }
+
+ template <class T>
+@@ -145,7 +145,7 @@
+ //
+ // Or from rehash post-condition:
+ // count > size / mlf_
+- return next_prime(double_to_size_t(floor(size / (double) mlf_)) + 1);
++ return next_prime(double_to_size_t(floor((double)size / (double)mlf_)) + 1);
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+--- misc/boost_1_44_0/boost/functional/hash/detail/hash_float_generic.hpp 2011-02-10 14:50:52.173229648 +0000
++++ misc/build/boost_1_44_0/boost/functional/hash/detail/hash_float_generic.hpp 2011-02-10 14:52:36.824433976 +0000
+@@ -53,7 +53,7 @@
+
+ v = ldexp(v, limits<std::size_t>::digits);
+ std::size_t seed = static_cast<std::size_t>(v);
+- v -= seed;
++ v -= static_cast<T>(seed);
+
+ // ceiling(digits(T) * log2(radix(T))/ digits(size_t)) - 1;
+ std::size_t const length
+@@ -66,7 +66,7 @@
+ {
+ v = ldexp(v, limits<std::size_t>::digits);
+ std::size_t part = static_cast<std::size_t>(v);
+- v -= part;
++ v -= static_cast<T>(part);
+ hash_float_combine(seed, part);
+ }
+
diff --git a/boost/boost.gcc47679.patch b/boost/boost.gcc47679.patch
new file mode 100644
index 000000000000..4af42b0dc854
--- /dev/null
+++ b/boost/boost.gcc47679.patch
@@ -0,0 +1,15 @@
+--- misc/boost_1_44_0/compare_pointees.hpp 2011-02-10 16:39:05.960176555 +0000
++++ misc/build/boost_1_44_0/boost/utility/compare_pointees.hpp 2011-02-10 16:40:59.091423279 +0000
+@@ -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 false;
++ if (!x)
++ return true;
++ return (*x) == (*y);
+ }
+
+ template<class OptionalPointee>
diff --git a/boost/makefile.mk b/boost/makefile.mk
index 7617addac0de..f931ac596711 100644
--- a/boost/makefile.mk
+++ b/boost/makefile.mk
@@ -57,6 +57,8 @@ PATCH_FILES+=aliasing.patch
PATCH_FILES+=boost.4713.warnings.patch
#https://svn.boost.org/trac/boost/ticket/5119
PATCH_FILES+=unordered_map-doesnt-support-cp-ctor.patch
+#http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47679
+PATCH_FILES+=boost.gcc47679.patch
ADDITIONAL_FILES= \
libs/thread/src/win32/makefile.mk