[pkg-boost-commits] r14200 - in boost/trunk/debian: . patches
smr at alioth.debian.org
smr at alioth.debian.org
Sun Apr 13 11:07:29 UTC 2008
Author: smr
Date: 2008-04-13 11:07:28 +0000 (Sun, 13 Apr 2008)
New Revision: 14200
Removed:
boost/trunk/debian/patches/bjam-no-strict-aliasing.patch
boost/trunk/debian/patches/function-template-thread-safety.patch
boost/trunk/debian/patches/regex-vulnerability.patch
Modified:
boost/trunk/debian/changelog
boost/trunk/debian/patches/date_time_date_formatting_hpp.patch
boost/trunk/debian/patches/gcc-4.3.patch
boost/trunk/debian/patches/series
boost/trunk/debian/patches/suppress-compiler-warnings.patch
Log:
Adjust existing patch series for version 1.35.0.
Modified: boost/trunk/debian/changelog
===================================================================
--- boost/trunk/debian/changelog 2008-04-12 15:45:14 UTC (rev 14199)
+++ boost/trunk/debian/changelog 2008-04-13 11:07:28 UTC (rev 14200)
@@ -1,3 +1,9 @@
+boost (1.35.0-1) UNRELEASED; urgency=low
+
+ * New upstream version. Closes: #473752.
+
+ -- Steve M. Robbins <smr at debian.org> Sun, 13 Apr 2008 05:51:33 -0500
+
boost (1.34.1-11) unstable; urgency=low
* debian/control: Add python-dev to libboost-python-dev depends.
Deleted: boost/trunk/debian/patches/bjam-no-strict-aliasing.patch
===================================================================
--- boost/trunk/debian/patches/bjam-no-strict-aliasing.patch 2008-04-12 15:45:14 UTC (rev 14199)
+++ boost/trunk/debian/patches/bjam-no-strict-aliasing.patch 2008-04-13 11:07:28 UTC (rev 14200)
@@ -1,11 +0,0 @@
---- trunk.orig/tools/jam/src/build.jam
-+++ trunk/tools/jam/src/build.jam
-@@ -152,7 +152,7 @@
- : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
- ## GCC 2.x, 3.x, 4.x
- toolset gcc gcc : "-o " : -D
-- : -pedantic
-+ : -pedantic -fno-strict-aliasing
- [ opt --release : [ opt --symbols : -g : -s ] -O3 ]
- [ opt --debug : -g -O0 -fno-inline ]
- -I$(--python-include) -Wno-long-long
Modified: boost/trunk/debian/patches/date_time_date_formatting_hpp.patch
===================================================================
--- boost/trunk/debian/patches/date_time_date_formatting_hpp.patch 2008-04-12 15:45:14 UTC (rev 14199)
+++ boost/trunk/debian/patches/date_time_date_formatting_hpp.patch 2008-04-13 11:07:28 UTC (rev 14200)
@@ -14,23 +14,3 @@
if (format_type::has_date_sep_chars()) {
ss << format_type::month_sep_char();
}
---- trunk.orig/boost/date_time/posix_time/time_formatters.hpp
-+++ trunk/boost/date_time/posix_time/time_formatters.hpp
-@@ -144,6 +144,9 @@
- date_time::absolute_value(td.fractional_seconds());
- #endif
- if (frac_sec != 0) {
-+ // Temporarily switch to classic locale to prevent possible formatting
-+ // of frac_sec with comma or other character (for example 123,456).
-+ ss.imbue(std::locale::classic());
- ss << "." << std::setw(time_duration::num_fractional_digits())
- << std::setfill(fill_char)
-
-@@ -153,6 +156,7 @@
- #else
- << frac_sec;
- #endif
-+ ss.imbue(std::locale::locale());
- }
- }// else
- return ss.str();
Deleted: boost/trunk/debian/patches/function-template-thread-safety.patch
===================================================================
--- boost/trunk/debian/patches/function-template-thread-safety.patch 2008-04-12 15:45:14 UTC (rev 14199)
+++ boost/trunk/debian/patches/function-template-thread-safety.patch 2008-04-13 11:07:28 UTC (rev 14200)
@@ -1,694 +0,0 @@
---- trunk.orig/boost/function/function_base.hpp
-+++ trunk/boost/function/function_base.hpp
-@@ -30,6 +30,20 @@
- #endif
- #include <boost/function_equal.hpp>
-
-+#if defined(BOOST_MSVC)
-+# pragma warning( push )
-+# pragma warning( disable : 4793 ) // complaint about native code generation
-+# pragma warning( disable : 4127 ) // "conditional expression is constant"
-+#endif
-+
-+// Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.
-+#ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE
-+// Embedded VC++ does not have type_info in namespace std
-+# define BOOST_FUNCTION_STD_NS
-+#else
-+# define BOOST_FUNCTION_STD_NS std
-+#endif
-+
- // Borrowed from Boost.Python library: determines the cases where we
- // need to use std::type_info::name to compare instead of operator==.
- # if (defined(__GNUC__) && __GNUC__ >= 3) \
-@@ -59,7 +73,7 @@
-
- #if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- || defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) \
-- || !(BOOST_STRICT_CONFIG || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
-+ || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
- # define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
- #endif
-
-@@ -198,8 +212,8 @@
- struct reference_manager
- {
- static inline void
-- get(const function_buffer& in_buffer, function_buffer& out_buffer,
-- functor_manager_operation_type op)
-+ manage(const function_buffer& in_buffer, function_buffer& out_buffer,
-+ functor_manager_operation_type op)
- {
- switch (op) {
- case clone_functor_tag:
-@@ -215,8 +229,8 @@
- // DPG TBD: Since we're only storing a pointer, it's
- // possible that the user could ask for a base class or
- // derived class. Is that okay?
-- const std::type_info& check_type =
-- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
-+ const BOOST_FUNCTION_STD_NS::type_info& check_type =
-+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr);
- if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(F)))
- out_buffer.obj_ptr = in_buffer.obj_ptr;
- else
-@@ -265,8 +279,8 @@
- else if (op == destroy_functor_tag)
- out_buffer.func_ptr = 0;
- else /* op == check_functor_type_tag */ {
-- const std::type_info& check_type =
-- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
-+ const BOOST_FUNCTION_STD_NS::type_info& check_type =
-+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr);
- if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor)))
- out_buffer.obj_ptr = &in_buffer.func_ptr;
- else
-@@ -287,8 +301,8 @@
- // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type.
- reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor();
- } else /* op == check_functor_type_tag */ {
-- const std::type_info& check_type =
-- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
-+ const BOOST_FUNCTION_STD_NS::type_info& check_type =
-+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr);
- if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor)))
- out_buffer.obj_ptr = &in_buffer.data;
- else
-@@ -348,8 +362,8 @@
- # endif // BOOST_NO_STD_ALLOCATOR
- out_buffer.obj_ptr = 0;
- } else /* op == check_functor_type_tag */ {
-- const std::type_info& check_type =
-- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
-+ const BOOST_FUNCTION_STD_NS::type_info& check_type =
-+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr);
- if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor)))
- out_buffer.obj_ptr = in_buffer.obj_ptr;
- else
-@@ -368,6 +382,15 @@
- mpl::bool_<(function_allows_small_object_optimization<functor_type>::value)>());
- }
-
-+ // For member pointers, we treat them as function objects with
-+ // the small-object optimization always enabled.
-+ static inline void
-+ manager(const function_buffer& in_buffer, function_buffer& out_buffer,
-+ functor_manager_operation_type op, member_ptr_tag)
-+ {
-+ manager(in_buffer, out_buffer, op, mpl::true_());
-+ }
-+
- public:
- /* Dispatch to an appropriate manager based on whether we have a
- function pointer or a function object pointer. */
-@@ -456,7 +479,6 @@
- */
- struct vtable_base
- {
-- vtable_base() : manager(0) { }
- void (*manager)(const function_buffer& in_buffer,
- function_buffer& out_buffer,
- functor_manager_operation_type op);
-@@ -480,13 +502,13 @@
-
- /** Retrieve the type of the stored function object, or typeid(void)
- if this is empty. */
-- const std::type_info& target_type() const
-+ const BOOST_FUNCTION_STD_NS::type_info& target_type() const
- {
- if (!vtable) return typeid(void);
-
- detail::function::function_buffer type;
- vtable->manager(functor, type, detail::function::get_functor_type_tag);
-- return *static_cast<const std::type_info*>(type.const_obj_ptr);
-+ return *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(type.const_obj_ptr);
- }
-
- template<typename Functor>
-@@ -558,7 +580,7 @@
- #endif
-
- public: // should be protected, but GCC 2.95.3 will fail to allow access
-- detail::function::vtable_base* vtable;
-+ const detail::function::vtable_base* vtable;
- mutable detail::function::function_buffer functor;
- };
-
-@@ -733,4 +755,8 @@
- #undef BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL
- #undef BOOST_FUNCTION_COMPARE_TYPE_ID
-
-+#if defined(BOOST_MSVC)
-+# pragma warning( pop )
-+#endif
-+
- #endif // BOOST_FUNCTION_BASE_HEADER
---- trunk.orig/boost/function/function_template.hpp
-+++ trunk/boost/function/function_template.hpp
-@@ -11,6 +11,11 @@
- // protection.
- #include <boost/function/detail/prologue.hpp>
-
-+#if defined(BOOST_MSVC)
-+# pragma warning( push )
-+# pragma warning( disable : 4127 ) // "conditional expression is constant"
-+#endif
-+
- #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
-
- #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
-@@ -54,12 +59,20 @@
- BOOST_JOIN(function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
- #define BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER \
- BOOST_JOIN(void_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
-+#define BOOST_FUNCTION_MEMBER_INVOKER \
-+ BOOST_JOIN(member_invoker,BOOST_FUNCTION_NUM_ARGS)
-+#define BOOST_FUNCTION_VOID_MEMBER_INVOKER \
-+ BOOST_JOIN(void_member_invoker,BOOST_FUNCTION_NUM_ARGS)
- #define BOOST_FUNCTION_GET_FUNCTION_INVOKER \
- BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
- #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER \
- BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
- #define BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER \
- BOOST_JOIN(get_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
-+#define BOOST_FUNCTION_GET_MEMBER_INVOKER \
-+ BOOST_JOIN(get_member_invoker,BOOST_FUNCTION_NUM_ARGS)
-+#define BOOST_FUNCTION_GET_INVOKER \
-+ BOOST_JOIN(get_invoker,BOOST_FUNCTION_NUM_ARGS)
- #define BOOST_FUNCTION_VTABLE BOOST_JOIN(basic_vtable,BOOST_FUNCTION_NUM_ARGS)
-
- #ifndef BOOST_NO_VOID_RETURNS
-@@ -70,16 +83,6 @@
- # define BOOST_FUNCTION_RETURN(X) X; return BOOST_FUNCTION_VOID_RETURN_TYPE ()
- #endif
-
--#ifdef BOOST_MSVC
--# pragma warning(push)
--# pragma warning(disable: 4127) // conditional expression is constant.
--#endif
--
--#ifdef BOOST_MSVC
--# pragma warning(push)
--# pragma warning(disable: 4127) // conditional expression is constant.
--#endif
--
- namespace boost {
- namespace detail {
- namespace function {
-@@ -191,6 +194,44 @@
- }
- };
-
-+#if BOOST_FUNCTION_NUM_ARGS > 0
-+ /* Handle invocation of member pointers. */
-+ template<
-+ typename MemberPtr,
-+ typename R BOOST_FUNCTION_COMMA
-+ BOOST_FUNCTION_TEMPLATE_PARMS
-+ >
-+ struct BOOST_FUNCTION_MEMBER_INVOKER
-+ {
-+ static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-+ BOOST_FUNCTION_PARMS)
-+
-+ {
-+ MemberPtr* f =
-+ reinterpret_cast<MemberPtr*>(&function_obj_ptr.data);
-+ return boost::mem_fn(*f)(BOOST_FUNCTION_ARGS);
-+ }
-+ };
-+
-+ template<
-+ typename MemberPtr,
-+ typename R BOOST_FUNCTION_COMMA
-+ BOOST_FUNCTION_TEMPLATE_PARMS
-+ >
-+ struct BOOST_FUNCTION_VOID_MEMBER_INVOKER
-+ {
-+ static BOOST_FUNCTION_VOID_RETURN_TYPE
-+ invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-+ BOOST_FUNCTION_PARMS)
-+
-+ {
-+ MemberPtr* f =
-+ reinterpret_cast<MemberPtr*>(&function_obj_ptr.data);
-+ BOOST_FUNCTION_RETURN(boost::mem_fn(*f)(BOOST_FUNCTION_ARGS));
-+ }
-+ };
-+#endif
-+
- template<
- typename FunctionPtr,
- typename R BOOST_FUNCTION_COMMA
-@@ -254,12 +295,130 @@
- >::type type;
- };
-
-+#if BOOST_FUNCTION_NUM_ARGS > 0
-+ /* Retrieve the appropriate invoker for a member pointer. */
-+ template<
-+ typename MemberPtr,
-+ typename R BOOST_FUNCTION_COMMA
-+ BOOST_FUNCTION_TEMPLATE_PARMS
-+ >
-+ struct BOOST_FUNCTION_GET_MEMBER_INVOKER
-+ {
-+ typedef typename mpl::if_c<(is_void<R>::value),
-+ BOOST_FUNCTION_VOID_MEMBER_INVOKER<
-+ MemberPtr,
-+ R BOOST_FUNCTION_COMMA
-+ BOOST_FUNCTION_TEMPLATE_ARGS
-+ >,
-+ BOOST_FUNCTION_MEMBER_INVOKER<
-+ MemberPtr,
-+ R BOOST_FUNCTION_COMMA
-+ BOOST_FUNCTION_TEMPLATE_ARGS
-+ >
-+ >::type type;
-+ };
-+#endif
-+
-+ /* Given the tag returned by get_function_tag, retrieve the
-+ actual invoker that will be used for the given function
-+ object.
-+
-+ Each specialization contains an "apply" nested class template
-+ that accepts the function object, return type, function
-+ argument types, and allocator. The resulting "apply" class
-+ contains two typedefs, "invoker_type" and "manager_type",
-+ which correspond to the invoker and manager types. */
-+ template<typename Tag>
-+ struct BOOST_FUNCTION_GET_INVOKER { };
-+
-+ /* Retrieve the invoker for a function pointer. */
-+ template<>
-+ struct BOOST_FUNCTION_GET_INVOKER<function_ptr_tag>
-+ {
-+ template<typename FunctionPtr,
-+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
-+ typename Allocator>
-+ struct apply
-+ {
-+ typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
-+ FunctionPtr,
-+ R BOOST_FUNCTION_COMMA
-+ BOOST_FUNCTION_TEMPLATE_ARGS
-+ >::type
-+ invoker_type;
-+
-+ typedef functor_manager<FunctionPtr, Allocator> manager_type;
-+ };
-+ };
-+
-+#if BOOST_FUNCTION_NUM_ARGS > 0
-+ /* Retrieve the invoker for a member pointer. */
-+ template<>
-+ struct BOOST_FUNCTION_GET_INVOKER<member_ptr_tag>
-+ {
-+ template<typename MemberPtr,
-+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
-+ typename Allocator>
-+ struct apply
-+ {
-+ typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER<
-+ MemberPtr,
-+ R BOOST_FUNCTION_COMMA
-+ BOOST_FUNCTION_TEMPLATE_ARGS
-+ >::type
-+ invoker_type;
-+
-+ typedef functor_manager<MemberPtr, Allocator> manager_type;
-+ };
-+ };
-+#endif
-+
-+ /* Retrieve the invoker for a function object. */
-+ template<>
-+ struct BOOST_FUNCTION_GET_INVOKER<function_obj_tag>
-+ {
-+ template<typename FunctionObj,
-+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
-+ typename Allocator>
-+ struct apply
-+ {
-+ typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
-+ FunctionObj,
-+ R BOOST_FUNCTION_COMMA
-+ BOOST_FUNCTION_TEMPLATE_ARGS
-+ >::type
-+ invoker_type;
-+
-+ typedef functor_manager<FunctionObj, Allocator> manager_type;
-+ };
-+ };
-+
-+ /* Retrieve the invoker for a reference to a function object. */
-+ template<>
-+ struct BOOST_FUNCTION_GET_INVOKER<function_obj_ref_tag>
-+ {
-+ template<typename RefWrapper,
-+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
-+ typename Allocator>
-+ struct apply
-+ {
-+ typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
-+ typename RefWrapper::type,
-+ R BOOST_FUNCTION_COMMA
-+ BOOST_FUNCTION_TEMPLATE_ARGS
-+ >::type
-+ invoker_type;
-+
-+ typedef reference_manager<typename RefWrapper::type> manager_type;
-+ };
-+ };
-+
- /**
- * vtable for a specific boost::function instance.
- */
- template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
- typename Allocator>
-- struct BOOST_FUNCTION_VTABLE : vtable_base
-+ struct BOOST_FUNCTION_VTABLE
- {
- #ifndef BOOST_NO_VOID_RETURNS
- typedef R result_type;
-@@ -272,50 +431,25 @@
- BOOST_FUNCTION_TEMPLATE_ARGS);
-
- template<typename F>
-- BOOST_FUNCTION_VTABLE(F f) : vtable_base(), invoker(0)
-- {
-- init(f);
-- }
--
-- template<typename F>
-- bool assign_to(F f, function_buffer& functor)
-+ bool assign_to(const F& f, function_buffer& functor) const
- {
- typedef typename get_function_tag<F>::type tag;
- return assign_to(f, functor, tag());
- }
-
-- void clear(function_buffer& functor)
-+ void clear(function_buffer& functor) const
- {
-- if (manager)
-- manager(functor, functor, destroy_functor_tag);
-+ if (base.manager)
-+ base.manager(functor, functor, destroy_functor_tag);
- }
--
-+#ifndef BOOST_NO_PRIVATE_IN_AGGREGATE
- private:
-- template<typename F>
-- void init(F f)
-- {
-- typedef typename get_function_tag<F>::type tag;
-- init(f, tag());
-- }
--
-+#endif
- // Function pointers
- template<typename FunctionPtr>
-- void init(FunctionPtr /*f*/, function_ptr_tag)
-- {
-- typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
-- FunctionPtr,
-- R BOOST_FUNCTION_COMMA
-- BOOST_FUNCTION_TEMPLATE_ARGS
-- >::type
-- actual_invoker_type;
--
-- invoker = &actual_invoker_type::invoke;
-- manager = &functor_manager<FunctionPtr, Allocator>::manage;
-- }
--
-- template<typename FunctionPtr>
- bool
-- assign_to(FunctionPtr f, function_buffer& functor, function_ptr_tag)
-+ assign_to(FunctionPtr f, function_buffer& functor,
-+ function_ptr_tag) const
- {
- this->clear(functor);
- if (f) {
-@@ -331,22 +465,13 @@
- // Member pointers
- #if BOOST_FUNCTION_NUM_ARGS > 0
- template<typename MemberPtr>
-- void init(MemberPtr f, member_ptr_tag)
-- {
-- // DPG TBD: Add explicit support for member function
-- // objects, so we invoke through mem_fn() but we retain the
-- // right target_type() values.
-- this->init(mem_fn(f));
-- }
--
-- template<typename MemberPtr>
-- bool assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag)
-+ bool
-+ assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag) const
- {
-- // DPG TBD: Add explicit support for member function
-- // objects, so we invoke through mem_fn() but we retain the
-- // right target_type() values.
- if (f) {
-- this->assign_to(mem_fn(f), functor);
-+ // Always use the small-object optimization for member
-+ // pointers.
-+ assign_functor(f, functor, mpl::true_());
- return true;
- } else {
- return false;
-@@ -355,24 +480,11 @@
- #endif // BOOST_FUNCTION_NUM_ARGS > 0
-
- // Function objects
-- template<typename FunctionObj>
-- void init(FunctionObj /*f*/, function_obj_tag)
-- {
-- typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
-- FunctionObj,
-- R BOOST_FUNCTION_COMMA
-- BOOST_FUNCTION_TEMPLATE_ARGS
-- >::type
-- actual_invoker_type;
--
-- invoker = &actual_invoker_type::invoke;
-- manager = &functor_manager<FunctionObj, Allocator>::manage;
-- }
--
- // Assign to a function object using the small object optimization
- template<typename FunctionObj>
- void
-- assign_functor(FunctionObj f, function_buffer& functor, mpl::true_)
-+ assign_functor(const FunctionObj& f, function_buffer& functor,
-+ mpl::true_) const
- {
- new ((void*)&functor.data) FunctionObj(f);
- }
-@@ -380,7 +492,8 @@
- // Assign to a function object allocated on the heap.
- template<typename FunctionObj>
- void
-- assign_functor(FunctionObj f, function_buffer& functor, mpl::false_)
-+ assign_functor(const FunctionObj& f, function_buffer& functor,
-+ mpl::false_) const
- {
- #ifndef BOOST_NO_STD_ALLOCATOR
- typedef typename Allocator::template rebind<FunctionObj>::other
-@@ -400,7 +513,8 @@
-
- template<typename FunctionObj>
- bool
-- assign_to(FunctionObj f, function_buffer& functor, function_obj_tag)
-+ assign_to(const FunctionObj& f, function_buffer& functor,
-+ function_obj_tag) const
- {
- if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
- assign_functor(f, functor,
-@@ -413,24 +527,9 @@
-
- // Reference to a function object
- template<typename FunctionObj>
-- void
-- init(const reference_wrapper<FunctionObj>& /*f*/, function_obj_ref_tag)
-- {
-- typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
-- FunctionObj,
-- R BOOST_FUNCTION_COMMA
-- BOOST_FUNCTION_TEMPLATE_ARGS
-- >::type
-- actual_invoker_type;
--
-- invoker = &actual_invoker_type::invoke;
-- manager = &reference_manager<FunctionObj>::get;
-- }
--
-- template<typename FunctionObj>
- bool
- assign_to(const reference_wrapper<FunctionObj>& f,
-- function_buffer& functor, function_obj_ref_tag)
-+ function_buffer& functor, function_obj_ref_tag) const
- {
- if (!boost::detail::function::has_empty_target(f.get_pointer())) {
- // DPG TBD: We might need to detect constness of
-@@ -445,6 +544,7 @@
- }
-
- public:
-+ vtable_base base;
- invoker_type invoker;
- };
- } // end namespace function
-@@ -456,6 +556,17 @@
- typename Allocator = BOOST_FUNCTION_DEFAULT_ALLOCATOR
- >
- class BOOST_FUNCTION_FUNCTION : public function_base
-+
-+#if BOOST_FUNCTION_NUM_ARGS == 1
-+
-+ , public std::unary_function<T0,R>
-+
-+#elif BOOST_FUNCTION_NUM_ARGS == 2
-+
-+ , public std::binary_function<T0,T1,R>
-+
-+#endif
-+
- {
- public:
- #ifndef BOOST_NO_VOID_RETURNS
-@@ -537,7 +648,7 @@
- if (this->empty())
- boost::throw_exception(bad_function_call());
-
-- return static_cast<vtable_type*>(vtable)->invoker
-+ return reinterpret_cast<const vtable_type*>(vtable)->invoker
- (this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
- }
- #else
-@@ -561,12 +672,16 @@
- operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f)
- {
- this->clear();
-+#ifndef BOOST_NO_EXCEPTIONS
- try {
- this->assign_to(f);
- } catch (...) {
- vtable = 0;
- throw;
- }
-+#else
-+ this->assign_to(f);
-+#endif
- return *this;
- }
-
-@@ -592,12 +707,16 @@
- return *this;
-
- this->clear();
-+#ifndef BOOST_NO_EXCEPTIONS
- try {
- this->assign_to_own(f);
- } catch (...) {
- vtable = 0;
- throw;
- }
-+#else
-+ this->assign_to_own(f);
-+#endif
- return *this;
- }
-
-@@ -615,7 +734,7 @@
- void clear()
- {
- if (vtable) {
-- static_cast<vtable_type*>(vtable)->clear(this->functor);
-+ reinterpret_cast<const vtable_type*>(vtable)->clear(this->functor);
- vtable = 0;
- }
- }
-@@ -650,10 +769,24 @@
- }
-
- template<typename Functor>
-- void assign_to(Functor f)
-+ void assign_to(const Functor& f)
- {
-- static vtable_type stored_vtable(f);
-- if (stored_vtable.assign_to(f, functor)) vtable = &stored_vtable;
-+ using detail::function::vtable_base;
-+
-+ typedef typename detail::function::get_function_tag<Functor>::type tag;
-+ typedef detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
-+ typedef typename get_invoker::
-+ template apply<Functor, R BOOST_FUNCTION_COMMA
-+ BOOST_FUNCTION_TEMPLATE_ARGS, Allocator>
-+ handler_type;
-+
-+ typedef typename handler_type::invoker_type invoker_type;
-+ typedef typename handler_type::manager_type manager_type;
-+
-+ static const vtable_type stored_vtable =
-+ { { &manager_type::manage }, &invoker_type::invoke };
-+
-+ if (stored_vtable.assign_to(f, functor)) vtable = &stored_vtable.base;
- else vtable = 0;
- }
- };
-@@ -688,7 +821,7 @@
- if (this->empty())
- boost::throw_exception(bad_function_call());
-
-- return static_cast<vtable_type*>(vtable)->invoker
-+ return reinterpret_cast<const vtable_type*>(vtable)->invoker
- (this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
- }
- #endif
-@@ -798,21 +931,14 @@
- }
- };
-
--#ifdef BOOST_MSVC
--# pragma warning(pop)
--#endif
--
- #undef BOOST_FUNCTION_PARTIAL_SPEC
- #endif // have partial specialization
-
- } // end namespace boost
-
--#ifdef BOOST_MSVC
--# pragma warning(pop)
--#endif
--
- // Cleanup after ourselves...
- #undef BOOST_FUNCTION_VTABLE
-+#undef BOOST_FUNCTION_GET_INVOKER
- #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
- #undef BOOST_FUNCTION_COMMA
- #undef BOOST_FUNCTION_FUNCTION
-@@ -822,10 +948,12 @@
- #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
- #undef BOOST_FUNCTION_FUNCTION_REF_INVOKER
- #undef BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER
-+#undef BOOST_FUNCTION_MEMBER_INVOKER
-+#undef BOOST_FUNCTION_VOID_MEMBER_INVOKER
- #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
- #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
- #undef BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER
--#undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
-+#undef BOOST_FUNCTION_GET_MEMBER_INVOKER
- #undef BOOST_FUNCTION_TEMPLATE_PARMS
- #undef BOOST_FUNCTION_TEMPLATE_ARGS
- #undef BOOST_FUNCTION_PARMS
-@@ -835,3 +963,7 @@
- #undef BOOST_FUNCTION_ARG_TYPES
- #undef BOOST_FUNCTION_VOID_RETURN_TYPE
- #undef BOOST_FUNCTION_RETURN
-+
-+#if defined(BOOST_MSVC)
-+# pragma warning( pop )
-+#endif
Modified: boost/trunk/debian/patches/gcc-4.3.patch
===================================================================
--- boost/trunk/debian/patches/gcc-4.3.patch 2008-04-12 15:45:14 UTC (rev 14199)
+++ boost/trunk/debian/patches/gcc-4.3.patch 2008-04-13 11:07:28 UTC (rev 14200)
@@ -1,48 +1,6 @@
---- trunk.orig/boost/regex/v4/cpp_regex_traits.hpp
-+++ trunk/boost/regex/v4/cpp_regex_traits.hpp
-@@ -41,6 +41,7 @@
-
- #include <istream>
- #include <ios>
-+#include <climits>
-
- #ifdef BOOST_HAS_ABI_HEADERS
- # include BOOST_ABI_PREFIX
---- trunk.orig/boost/test/test_tools.hpp
-+++ trunk/boost/test/test_tools.hpp
-@@ -44,6 +44,7 @@
- // STL
- #include <cstddef> // for std::size_t
- #include <iosfwd>
-+#include <climits> // for CHAR_BIT
-
- #include <boost/test/detail/suppress_warnings.hpp>
-
---- trunk.orig/boost/python/detail/def_helper.hpp
-+++ trunk/boost/python/detail/def_helper.hpp
-@@ -155,7 +155,7 @@
- , T3 const&
- , T4 const&
- , default_call_policies
-- , keywords<0>
-+ , detail::keywords<0>
- , char const*
- , void(not_specified::*)() // A function pointer type which is never an
- // appropriate default implementation
---- trunk.orig/boost/date_time/date_facet.hpp
-+++ trunk/boost/date_time/date_facet.hpp
-@@ -429,7 +429,7 @@
- typedef std::basic_string<CharT> string_type;
- typedef CharT char_type;
- typedef boost::date_time::period_parser<date_type, CharT> period_parser_type;
-- typedef special_values_parser<date_type,CharT> special_values_parser_type;
-+ typedef boost::date_time::special_values_parser<date_type,CharT> special_values_parser_type;
- typedef std::vector<std::basic_string<CharT> > input_collection_type;
- typedef format_date_parser<date_type, CharT> format_date_parser_type;
- // date_generators stuff goes here
---- trunk.orig/boost/spirit/phoenix/operators.hpp
-+++ trunk/boost/spirit/phoenix/operators.hpp
-@@ -24,6 +24,7 @@
+--- boost-posix-2008-03-21.orig/boost/spirit/phoenix/operators.hpp
++++ boost-posix-2008-03-21/boost/spirit/phoenix/operators.hpp
+@@ -25,6 +25,7 @@
#include <boost/spirit/phoenix/composite.hpp>
#include <boost/config.hpp>
#include <boost/mpl/if.hpp>
@@ -50,8 +8,8 @@
///////////////////////////////////////////////////////////////////////////////
namespace phoenix {
---- trunk.orig/boost/date_time/tz_db_base.hpp
-+++ trunk/boost/date_time/tz_db_base.hpp
+--- boost-posix-2008-03-21.orig/boost/date_time/tz_db_base.hpp
++++ boost-posix-2008-03-21/boost/date_time/tz_db_base.hpp
@@ -158,7 +158,7 @@
typedef typename time_zone_type::base_type time_zone_base_type;
typedef typename time_zone_type::time_duration_type time_duration_type;
@@ -61,20 +19,10 @@
typedef std::basic_string<char_type> string_type;
//! Constructs an empty database
---- trunk.orig/boost/wave/util/flex_string.hpp
-+++ trunk/boost/wave/util/flex_string.hpp
-@@ -94,6 +94,7 @@
- #include <limits>
- #include <stdexcept>
- #include <cstddef>
-+#include <cstring>
-
- // this must occur after all of the includes and before any code appears
- #ifdef BOOST_HAS_ABI_HEADERS
---- trunk.orig/libs/spirit/test/numerics_tests.cpp
-+++ trunk/libs/spirit/test/numerics_tests.cpp
-@@ -11,6 +11,7 @@
- #include <boost/spirit/actor/assign_actor.hpp>
+--- boost-posix-2008-03-21.orig/libs/spirit/test/numerics_tests.cpp
++++ boost-posix-2008-03-21/libs/spirit/test/numerics_tests.cpp
+@@ -12,6 +12,7 @@
+ #include <climits>
#include <iostream>
#include <boost/detail/lightweight_test.hpp>
+#include <climits>
Deleted: boost/trunk/debian/patches/regex-vulnerability.patch
===================================================================
--- boost/trunk/debian/patches/regex-vulnerability.patch 2008-04-12 15:45:14 UTC (rev 14199)
+++ boost/trunk/debian/patches/regex-vulnerability.patch 2008-04-13 11:07:28 UTC (rev 14200)
@@ -1,54 +0,0 @@
---- trunk.orig/boost/regex/v4/basic_regex_parser.hpp
-+++ trunk/boost/regex/v4/basic_regex_parser.hpp
-@@ -777,6 +777,7 @@
- case syntax_element_restart_continue:
- case syntax_element_jump:
- case syntax_element_startmark:
-+ case syntax_element_backstep:
- // can't legally repeat any of the above:
- fail(regex_constants::error_badrepeat, m_position - m_base);
- return false;
-@@ -1862,6 +1863,7 @@
- if(markid == -4)
- {
- re_syntax_base* b = this->getaddress(expected_alt_point);
-+ // Make sure we have exactly one alternative following this state:
- if(b->type != syntax_element_alt)
- {
- re_alt* alt = static_cast<re_alt*>(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt)));
-@@ -1872,6 +1874,15 @@
- fail(regex_constants::error_bad_pattern, m_position - m_base);
- return false;
- }
-+ // check for invalid repetition of next state:
-+ b = this->getaddress(expected_alt_point);
-+ b = this->getaddress(static_cast<re_alt*>(b)->next.i, b);
-+ if((b->type != syntax_element_assert_backref)
-+ && (b->type != syntax_element_startmark))
-+ {
-+ fail(regex_constants::error_badrepeat, m_position - m_base);
-+ return false;
-+ }
- }
- //
- // append closing parenthesis state:
---- trunk.orig/libs/regex/test/regress/test_perl_ex.cpp
-+++ trunk/libs/regex/test/regress/test_perl_ex.cpp
-@@ -121,6 +121,17 @@
- TEST_INVALID_REGEX("(?:(a)|b)(?(?:", perl);
- TEST_INVALID_REGEX("(?:(a)|b)(?(?<", perl);
- TEST_INVALID_REGEX("(?:(a)|b)(?(?<a", perl);
-+
-+ TEST_INVALID_REGEX("(?(?!#?)+)", perl);
-+ TEST_INVALID_REGEX("(?(?=:-){0})", perl);
-+ TEST_INVALID_REGEX("(?(123){1})", perl);
-+ TEST_INVALID_REGEX("(?(?<=A)*)", perl);
-+ TEST_INVALID_REGEX("(?(?<=A)+)", perl);
-+
-+ TEST_INVALID_REGEX("(?<!*|^)", perl);
-+ TEST_INVALID_REGEX("(?<!*|A)", perl);
-+ TEST_INVALID_REGEX("(?<=?|A)", perl);
-+ TEST_INVALID_REGEX("(?<=*|\\B)", perl);
- }
-
- void test_options()
Modified: boost/trunk/debian/patches/series
===================================================================
--- boost/trunk/debian/patches/series 2008-04-12 15:45:14 UTC (rev 14199)
+++ boost/trunk/debian/patches/series 2008-04-13 11:07:28 UTC (rev 14200)
@@ -1,6 +1,3 @@
suppress-compiler-warnings.patch
gcc-4.3.patch
-function-template-thread-safety.patch
-regex-vulnerability.patch
-bjam-no-strict-aliasing.patch
date_time_date_formatting_hpp.patch
Modified: boost/trunk/debian/patches/suppress-compiler-warnings.patch
===================================================================
--- boost/trunk/debian/patches/suppress-compiler-warnings.patch 2008-04-12 15:45:14 UTC (rev 14199)
+++ boost/trunk/debian/patches/suppress-compiler-warnings.patch 2008-04-13 11:07:28 UTC (rev 14200)
@@ -1,5 +1,5 @@
---- trunk.orig/boost/date_time/time.hpp
-+++ trunk/boost/date_time/time.hpp
+--- boost-posix-2008-03-21.orig/boost/date_time/time.hpp
++++ boost-posix-2008-03-21/boost/date_time/time.hpp
@@ -77,14 +77,14 @@
/*! Optional bool parameter will return time zone as an offset
* (ie "+07:00"). Empty string is returned for classes that do
@@ -17,19 +17,8 @@
{
return time_system::zone_name(time_);
}
---- trunk.orig/boost/date_time/time_facet.hpp
-+++ trunk/boost/date_time/time_facet.hpp
-@@ -197,7 +197,7 @@
- #endif
-
- //! sets default formats for ptime, local_date_time, and time_duration
-- explicit time_facet(::size_t a_ref = 0)
-+ explicit time_facet(::size_t = 0)
- //: base_type(standard_format),
- : base_type(default_time_format),
- m_time_duration_format(string_type(duration_sign_negative_only) + default_time_duration_format)
---- trunk.orig/boost/graph/topological_sort.hpp
-+++ trunk/boost/graph/topological_sort.hpp
+--- boost-posix-2008-03-21.orig/boost/graph/topological_sort.hpp
++++ boost-posix-2008-03-21/boost/graph/topological_sort.hpp
@@ -37,7 +37,7 @@
: m_iter(_iter) { }
More information about the pkg-boost-commits
mailing list