[Libreoffice-commits] .: 2 commits - boost/boost.4713.warnings.patch boost/boost.gcc47679.patch boost/makefile.mk

Caolán McNamara caolan at kemper.freedesktop.org
Thu Feb 10 12:27:40 PST 2011


 boost/boost.4713.warnings.patch |   40 ++++++++++++++++++++++++++++++++++++++++
 boost/boost.gcc47679.patch      |   15 +++++++++++++++
 boost/makefile.mk               |    2 ++
 3 files changed, 57 insertions(+)

New commits:
commit b0d81a7afeadd4dc211281796aa345f3447ab021
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Feb 10 20:25:07 2011 +0000

    gcc#47679 needs more magic

diff --git a/boost/boost.gcc47679.patch b/boost/boost.gcc47679.patch
index 4af42b0..9612346 100644
--- a/boost/boost.gcc47679.patch
+++ b/boost/boost.gcc47679.patch
@@ -1,14 +1,14 @@
---- misc/boost_1_44_0/compare_pointees.hpp	2011-02-10 16:39:05.960176555 +0000
+--- 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 false;
-+  if (!x)
++  if (!x && !y)
 +    return true;
++  if (!x || !y)
++    return false;
 +  return (*x) == (*y);
  }
  
commit b398624122ecfe718803ea001ea03f235578a3fa
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Feb 10 16:55:32 2011 +0000

    workaround gcc#47679

diff --git a/boost/boost.4713.warnings.patch b/boost/boost.4713.warnings.patch
index 73b3727..e323c44 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 0000000..4af42b0
--- /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 7617add..f931ac5 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


More information about the Libreoffice-commits mailing list