summaryrefslogtreecommitdiff
path: root/boost/boost.gcc47679.patch
diff options
context:
space:
mode:
Diffstat (limited to 'boost/boost.gcc47679.patch')
-rw-r--r--boost/boost.gcc47679.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/boost/boost.gcc47679.patch b/boost/boost.gcc47679.patch
new file mode 100644
index 000000000000..9b33a5fffb8a
--- /dev/null
+++ b/boost/boost.gcc47679.patch
@@ -0,0 +1,61 @@
+--- misc/boost_1_44_0/boost/utility/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 true;
++ if (!x || !y)
++ return false;
++ return (*x) == (*y);
+ }
+
+ template<class OptionalPointee>
+--- misc/boost_1_44_0/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2011-03-02 12:22:47.222870106 +0000
++++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2011-03-02 12:22:47.222870106 +0000
+@@ -219,6 +219,20 @@
+ }
+ };
+
++ 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)
+ {
+--- misc/boost_1_44_0/boost/optional/optional.hpp 2011-04-05 13:19:01.223587256 +0100
++++ misc/build/boost_1_44_0/boost/optional/optional.hpp 2011-04-05 13:19:01.223587256 +0100
+@@ -31,6 +31,8 @@
+
+ #include "boost/optional/optional_fwd.hpp"
+
++#include <string.h>
++
+ #if BOOST_WORKAROUND(BOOST_MSVC, == 1200)
+ // VC6.0 has the following bug:
+ // When a templated assignment operator exist, an implicit conversion
+@@ -114,6 +116,11 @@
+
+ public:
+
++ aligned_storage()
++ {
++ memset(&dummy_, 0, sizeof(dummy_));
++ }
++
+ void const* address() const { return &dummy_.data[0]; }
+ void * address() { return &dummy_.data[0]; }
+ } ;