Include a bugfix for GCC 4.4
authorRichard W.M. Jones <rjones@redhat.com>
Sat, 21 Feb 2009 11:43:46 +0000 (11:43 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Sat, 21 Feb 2009 11:43:46 +0000 (11:43 +0000)
boost/mingw32-boost.spec
boost/svn-r48960.diff [new file with mode: 0644]

index c565bae..ebf4f4e 100644 (file)
@@ -6,7 +6,7 @@
 
 Name:           mingw32-boost
 Version:        1.34.1
-Release:        5%{?dist}
+Release:        6%{?dist}
 Summary:        MinGW Windows port of Boost C++ Libraries
 
 License:        Boost
@@ -22,6 +22,9 @@ Patch3:         boost-run-tests.patch
 Patch4:         boost-regex.patch
 Patch5:         boost-gcc43.patch
 
+# For GCC 4.4, https://svn.boost.org/trac/boost/ticket/2069
+Patch1000:      svn-r48960.diff
+
 BuildArch:      noarch
 
 BuildRequires:  mingw32-filesystem >= 30
@@ -55,6 +58,8 @@ Standards Committee's upcoming C++ Standard Library Technical Report.)
 %patch4 -p0
 %patch5 -p1
 
+%patch1000 -p2
+
 
 %build
 BOOST_ROOT=`pwd`
@@ -186,7 +191,7 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
-* Fri Feb 20 2009 Richard W.M. Jones <rjones@redhat.com> - 1.34.1-5
+* Sat Feb 21 2009 Richard W.M. Jones <rjones@redhat.com> - 1.34.1-6
 - Rebuild for mingw32-gcc 4.4
 
 * Fri Jan 23 2009 Richard W.M. Jones <rjones@redhat.com> - 1.34.1-4
diff --git a/boost/svn-r48960.diff b/boost/svn-r48960.diff
new file mode 100644 (file)
index 0000000..cb34430
--- /dev/null
@@ -0,0 +1,304 @@
+Index: /trunk/boost/python/call.hpp\r
+===================================================================\r
+--- /trunk/boost/python/call.hpp (revision 24055)\r
++++ /trunk/boost/python/call.hpp (revision 48960)\r
+@@ -39,5 +39,8 @@\r
+ # endif // CALL_DWA2002411_HPP\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -77,3 +80,4 @@\r
+ # undef N\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /trunk/boost/python/object/value_holder.hpp\r
+===================================================================\r
+--- /trunk/boost/python/object/value_holder.hpp (revision 32284)\r
++++ /trunk/boost/python/object/value_holder.hpp (revision 48960)\r
+@@ -118,5 +118,8 @@\r
+ // --------------- value_holder ---------------\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -164,3 +167,4 @@\r
+ # undef N\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /trunk/boost/python/object/make_holder.hpp\r
+===================================================================\r
+--- /trunk/boost/python/object/make_holder.hpp (revision 39191)\r
++++ /trunk/boost/python/object/make_holder.hpp (revision 48960)\r
+@@ -48,5 +48,8 @@\r
+ # endif // MAKE_HOLDER_DWA20011215_HPP\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -103,3 +106,4 @@\r
+ # undef N\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /trunk/boost/python/object/pointer_holder.hpp\r
+===================================================================\r
+--- /trunk/boost/python/object/pointer_holder.hpp (revision 41521)\r
++++ /trunk/boost/python/object/pointer_holder.hpp (revision 48960)\r
+@@ -171,5 +171,8 @@\r
\r
+ /* --------------- pointer_holder --------------- */\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -213,3 +216,4 @@\r
+ # undef N\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /trunk/boost/python/call_method.hpp\r
+===================================================================\r
+--- /trunk/boost/python/call_method.hpp (revision 24614)\r
++++ /trunk/boost/python/call_method.hpp (revision 48960)\r
+@@ -38,5 +38,8 @@\r
+ # endif // CALL_METHOD_DWA2002411_HPP\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -77,3 +80,4 @@\r
+ # undef N\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/python/detail/target.hpp\r
+===================================================================\r
+--- /trunk/boost/python/detail/target.hpp (revision 24614)\r
++++ /trunk/boost/python/detail/target.hpp (revision 48960)\r
+@@ -38,5 +38,8 @@\r
\r
+ /* --------------- function pointers --------------- */\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -80,3 +83,4 @@\r
+ # undef Q\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /trunk/boost/python/detail/result.hpp\r
+===================================================================\r
+--- /trunk/boost/python/detail/result.hpp (revision 43799)\r
++++ /trunk/boost/python/detail/result.hpp (revision 48960)\r
+@@ -87,5 +87,8 @@\r
\r
+ /* --------------- function pointers --------------- */\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100)                      \\r
+         && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -129,3 +132,4 @@\r
+ # undef Q\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /trunk/boost/python/signature.hpp\r
+===================================================================\r
+--- /trunk/boost/python/signature.hpp (revision 24055)\r
++++ /trunk/boost/python/signature.hpp (revision 48960)\r
+@@ -114,5 +114,8 @@\r
+ # endif // SIGNATURE_JDG20020813_HPP\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 // defined(BOOST_PP_IS_ITERATING)\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 // defined(BOOST_PP_IS_ITERATING)\r
\r
+ # define N BOOST_PP_ITERATION()\r
+@@ -177,3 +180,4 @@\r
+ # undef N\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // !defined(BOOST_PP_IS_ITERATING)\r
+Index: /trunk/boost/mpl/aux_/numeric_op.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/aux_/numeric_op.hpp (revision 30670)\r
++++ /trunk/boost/mpl/aux_/numeric_op.hpp (revision 48960)\r
+@@ -288,5 +288,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
\r
+ #   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -309,3 +312,4 @@\r
+ #   undef i_\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/aux_/advance_backward.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/aux_/advance_backward.hpp (revision 24874)\r
++++ /trunk/boost/mpl/aux_/advance_backward.hpp (revision 48960)\r
+@@ -80,5 +80,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ #define i_ BOOST_PP_FRAME_ITERATION(1)\r
\r
+@@ -122,3 +125,4 @@\r
+ #   undef AUX778076_ITER_0\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/aux_/full_lambda.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/aux_/full_lambda.hpp (revision 24896)\r
++++ /trunk/boost/mpl/aux_/full_lambda.hpp (revision 48960)\r
+@@ -228,5 +228,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ #define i_ BOOST_PP_FRAME_ITERATION(1)\r
\r
+@@ -348,3 +351,4 @@\r
\r
+ #undef i_\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/aux_/advance_forward.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/aux_/advance_forward.hpp (revision 24874)\r
++++ /trunk/boost/mpl/aux_/advance_forward.hpp (revision 48960)\r
+@@ -80,5 +80,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ #define i_ BOOST_PP_FRAME_ITERATION(1)\r
\r
+@@ -121,3 +124,4 @@\r
+ #   undef AUX778076_ITER_0\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/unpack_args.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/unpack_args.hpp (revision 24874)\r
++++ /trunk/boost/mpl/unpack_args.hpp (revision 48960)\r
+@@ -112,5 +112,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
\r
+ #   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -144,3 +147,4 @@\r
+ #   undef i_\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/bind.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/bind.hpp (revision 25875)\r
++++ /trunk/boost/mpl/bind.hpp (revision 48960)\r
+@@ -362,5 +362,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
\r
+ #   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -545,3 +548,4 @@\r
+ #   undef j_\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/apply.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/apply.hpp (revision 24874)\r
++++ /trunk/boost/mpl/apply.hpp (revision 48960)\r
+@@ -136,5 +136,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
\r
+ #   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -223,3 +226,4 @@\r
+ #   undef i_\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/apply_wrap.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/apply_wrap.hpp (revision 24892)\r
++++ /trunk/boost/mpl/apply_wrap.hpp (revision 48960)\r
+@@ -79,5 +79,8 @@\r
+ ///// iteration, depth == 1\r
\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
\r
+ #   define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -198,3 +201,4 @@\r
+ #   undef j_\r
\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r