From 0cec4698efdb9fa0072e5d8cbccd6cb806b940e9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Remko=20Tron=C3=A7on?= <git@el-tramo.be>
Date: Thu, 6 May 2010 20:16:19 +0200
Subject: Apply boost patches.


diff --git a/3rdParty/Boost/1_compilation_fix.diff b/3rdParty/Boost/1_compilation_fix.diff
deleted file mode 100644
index ad62fe1..0000000
--- a/3rdParty/Boost/1_compilation_fix.diff
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/3rdParty/Boost/src/boost/date_time/gregorian/conversion.hpp b/3rdParty/Boost/src/boost/date_time/gregorian/conversion.hpp
-index f35796e..6d4b606 100644
---- a/3rdParty/Boost/src/boost/date_time/gregorian/conversion.hpp
-+++ b/3rdParty/Boost/src/boost/date_time/gregorian/conversion.hpp
-@@ -15,6 +15,7 @@
- #include <boost/date_time/c_time.hpp>
- #include <boost/date_time/special_defs.hpp>
- #include <boost/date_time/gregorian/gregorian_types.hpp>
-+#include <cstring>
- 
- namespace boost {
- 
-@@ -41,7 +42,8 @@ namespace gregorian {
-         boost::throw_exception(std::out_of_range(s));
-     }
- 
--    std::tm datetm = {}; // zero initialization is needed for extension members, like tm_zone
-+    std::tm datetm;
-+    memset(&datetm, 0, sizeof(std::tm));
-     boost::gregorian::date::ymd_type ymd = d.year_month_day();
-     datetm.tm_year = ymd.year - 1900;
-     datetm.tm_mon = ymd.month - 1;
-diff --git a/3rdParty/Boost/src/boost/date_time/posix_time/conversion.hpp b/3rdParty/Boost/src/boost/date_time/posix_time/conversion.hpp
-index 9cdb864..a7b1a80 100644
---- a/3rdParty/Boost/src/boost/date_time/posix_time/conversion.hpp
-+++ b/3rdParty/Boost/src/boost/date_time/posix_time/conversion.hpp
-@@ -15,6 +15,7 @@
- #include <boost/date_time/c_time.hpp>
- #include <boost/date_time/time_resolution_traits.hpp> // absolute_value
- #include <boost/date_time/gregorian/conversion.hpp>
-+#include <cstring>
- 
- namespace boost {
- 
-@@ -43,7 +44,8 @@ namespace posix_time {
-   //! Convert a time_duration to a tm structure truncating any fractional seconds and zeroing fields for date components
-   inline
-   std::tm to_tm(const boost::posix_time::time_duration& td) {
--    std::tm timetm = {};
-+    std::tm timetm;
-+    memset(&timetm, 0, sizeof(std::tm));
-     timetm.tm_hour = date_time::absolute_value(td.hours());
-     timetm.tm_min = date_time::absolute_value(td.minutes());
-     timetm.tm_sec = date_time::absolute_value(td.seconds());
diff --git a/3rdParty/Boost/1_fix_date_time_warnings.diff b/3rdParty/Boost/1_fix_date_time_warnings.diff
new file mode 100644
index 0000000..ad62fe1
--- /dev/null
+++ b/3rdParty/Boost/1_fix_date_time_warnings.diff
@@ -0,0 +1,44 @@
+diff --git a/3rdParty/Boost/src/boost/date_time/gregorian/conversion.hpp b/3rdParty/Boost/src/boost/date_time/gregorian/conversion.hpp
+index f35796e..6d4b606 100644
+--- a/3rdParty/Boost/src/boost/date_time/gregorian/conversion.hpp
++++ b/3rdParty/Boost/src/boost/date_time/gregorian/conversion.hpp
+@@ -15,6 +15,7 @@
+ #include <boost/date_time/c_time.hpp>
+ #include <boost/date_time/special_defs.hpp>
+ #include <boost/date_time/gregorian/gregorian_types.hpp>
++#include <cstring>
+ 
+ namespace boost {
+ 
+@@ -41,7 +42,8 @@ namespace gregorian {
+         boost::throw_exception(std::out_of_range(s));
+     }
+ 
+-    std::tm datetm = {}; // zero initialization is needed for extension members, like tm_zone
++    std::tm datetm;
++    memset(&datetm, 0, sizeof(std::tm));
+     boost::gregorian::date::ymd_type ymd = d.year_month_day();
+     datetm.tm_year = ymd.year - 1900;
+     datetm.tm_mon = ymd.month - 1;
+diff --git a/3rdParty/Boost/src/boost/date_time/posix_time/conversion.hpp b/3rdParty/Boost/src/boost/date_time/posix_time/conversion.hpp
+index 9cdb864..a7b1a80 100644
+--- a/3rdParty/Boost/src/boost/date_time/posix_time/conversion.hpp
++++ b/3rdParty/Boost/src/boost/date_time/posix_time/conversion.hpp
+@@ -15,6 +15,7 @@
+ #include <boost/date_time/c_time.hpp>
+ #include <boost/date_time/time_resolution_traits.hpp> // absolute_value
+ #include <boost/date_time/gregorian/conversion.hpp>
++#include <cstring>
+ 
+ namespace boost {
+ 
+@@ -43,7 +44,8 @@ namespace posix_time {
+   //! Convert a time_duration to a tm structure truncating any fractional seconds and zeroing fields for date components
+   inline
+   std::tm to_tm(const boost::posix_time::time_duration& td) {
+-    std::tm timetm = {};
++    std::tm timetm;
++    memset(&timetm, 0, sizeof(std::tm));
+     timetm.tm_hour = date_time::absolute_value(td.hours());
+     timetm.tm_min = date_time::absolute_value(td.minutes());
+     timetm.tm_sec = date_time::absolute_value(td.seconds());
diff --git a/3rdParty/Boost/src/boost/date_time/gregorian/conversion.hpp b/3rdParty/Boost/src/boost/date_time/gregorian/conversion.hpp
index f35796e..6d4b606 100644
--- a/3rdParty/Boost/src/boost/date_time/gregorian/conversion.hpp
+++ b/3rdParty/Boost/src/boost/date_time/gregorian/conversion.hpp
@@ -15,6 +15,7 @@
 #include <boost/date_time/c_time.hpp>
 #include <boost/date_time/special_defs.hpp>
 #include <boost/date_time/gregorian/gregorian_types.hpp>
+#include <cstring>
 
 namespace boost {
 
@@ -41,7 +42,8 @@ namespace gregorian {
         boost::throw_exception(std::out_of_range(s));
     }
 
-    std::tm datetm = {}; // zero initialization is needed for extension members, like tm_zone
+    std::tm datetm;
+    memset(&datetm, 0, sizeof(std::tm));
     boost::gregorian::date::ymd_type ymd = d.year_month_day();
     datetm.tm_year = ymd.year - 1900;
     datetm.tm_mon = ymd.month - 1;
diff --git a/3rdParty/Boost/src/boost/date_time/posix_time/conversion.hpp b/3rdParty/Boost/src/boost/date_time/posix_time/conversion.hpp
index 9cdb864..a7b1a80 100644
--- a/3rdParty/Boost/src/boost/date_time/posix_time/conversion.hpp
+++ b/3rdParty/Boost/src/boost/date_time/posix_time/conversion.hpp
@@ -15,6 +15,7 @@
 #include <boost/date_time/c_time.hpp>
 #include <boost/date_time/time_resolution_traits.hpp> // absolute_value
 #include <boost/date_time/gregorian/conversion.hpp>
+#include <cstring>
 
 namespace boost {
 
@@ -43,7 +44,8 @@ namespace posix_time {
   //! Convert a time_duration to a tm structure truncating any fractional seconds and zeroing fields for date components
   inline
   std::tm to_tm(const boost::posix_time::time_duration& td) {
-    std::tm timetm = {};
+    std::tm timetm;
+    memset(&timetm, 0, sizeof(std::tm));
     timetm.tm_hour = date_time::absolute_value(td.hours());
     timetm.tm_min = date_time::absolute_value(td.minutes());
     timetm.tm_sec = date_time::absolute_value(td.seconds());
diff --git a/3rdParty/Boost/update.sh b/3rdParty/Boost/update.sh
index d08c971..59c61bd 100755
--- a/3rdParty/Boost/update.sh
+++ b/3rdParty/Boost/update.sh
@@ -38,3 +38,5 @@ for lib in $LIBS; do
 	rm -rf $TARGET_DIR/libs/$lib/build $TARGET_DIR/libs/$lib/*.doc $TARGET_DIR/libs/$lib/src/*.doc $TARGET_DIR/libs/$lib/src/CMakeLists.txt $TARGET_DIR/libs/$lib/test
 done
 rm -rf $TARGET_DIR/tools/bcp/*.html $TARGET_DIR/libs/test $TARGET_DIR/doc $TARGET_DIR/boost.png $TARGET_DIR/boost/test $TARGET_DIR/tools/bcp/Jamfile.v2 $TARGET_DIR/tools/bcp/doc $TARGET_DIR/tools/bcp/test $TARGET_DIR/Jamroot
+
+patch -p3 < *.diff
-- 
cgit v0.10.2-6-g49f6