Compare commits
5 Commits
Author | SHA1 | Date |
---|---|---|
Petr Machata | d443a5858b | |
Petr Machata | 281cdc1134 | |
Petr Machata | 0ddee7cee5 | |
Petr Machata | f6b94db53c | |
Petr Machata | fb229be377 |
|
@ -0,0 +1,19 @@
|
|||
------------------------------------------------------------------------
|
||||
r84947 | danieljames | 2013-07-03 22:57:56 +0100 (Wed, 03 Jul 2013) | 4 lines
|
||||
|
||||
coroutine: fix typo in Jamfile
|
||||
|
||||
From [84622], by olli
|
||||
|
||||
------------------------------------------------------------------------
|
||||
--- 1_54_0/libs/coroutine/build/Jamfile.v2 (revision 84946)
|
||||
+++ 1_54_0/libs/coroutine/build/Jamfile.v2 (revision 84947)
|
||||
@@ -40,7 +40,7 @@
|
||||
: detail/standard_stack_allocator_posix.cpp
|
||||
;
|
||||
|
||||
-explicit yield_sources ;
|
||||
+explicit allocator_sources ;
|
||||
|
||||
lib boost_coroutine
|
||||
: allocator_sources
|
|
@ -0,0 +1,19 @@
|
|||
------------------------------------------------------------------------
|
||||
r84948 | danieljames | 2013-07-03 23:02:30 +0100 (Wed, 03 Jul 2013) | 4 lines
|
||||
|
||||
In C++11 the shared_ptr -> bool conversion is explicit. In custom time zone code, make the cast explicit. Fixes compilation failure in C++11
|
||||
|
||||
From [84626], by marshall.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
--- 1_54_0/boost/date_time/local_time/custom_time_zone.hpp (revision 84947)
|
||||
+++ 1_54_0/boost/date_time/local_time/custom_time_zone.hpp (revision 84948)
|
||||
@@ -64,7 +64,7 @@
|
||||
//! True if zone uses daylight savings adjustments
|
||||
virtual bool has_dst() const
|
||||
{
|
||||
- return (dst_calc_rules_); //if calc_rule is set the tz has dst
|
||||
+ return (bool) dst_calc_rules_; //if calc_rule is set the tz has dst
|
||||
}
|
||||
//! Local time that DST starts -- NADT if has_dst is false
|
||||
virtual posix_time::ptime dst_local_start_time(gregorian::greg_year y) const
|
|
@ -0,0 +1,16 @@
|
|||
------------------------------------------------------------------------
|
||||
r84966 | andysem | 2013-07-07 11:43:20 +0100 (Sun, 07 Jul 2013) | 1 line
|
||||
|
||||
Backported fix for BOOST_LOG_ONCE_BLOCK_FLAG macro definition.
|
||||
------------------------------------------------------------------------
|
||||
--- 1_54_0/boost/log/utility/once_block.hpp (revision 84965)
|
||||
+++ 1_54_0/boost/log/utility/once_block.hpp (revision 84966)
|
||||
@@ -176,7 +176,7 @@
|
||||
* been executed.
|
||||
*/
|
||||
#define BOOST_LOG_ONCE_BLOCK_FLAG(flag_var)\
|
||||
- BOOST_LOG_ONCE_BLOCK_INTERNAL(\
|
||||
+ BOOST_LOG_ONCE_BLOCK_FLAG_INTERNAL(\
|
||||
flag_var,\
|
||||
BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_once_block_sentry_))
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
diff -urp boost_1_48_0~/boost/config/compiler/gcc.hpp boost_1_48_0/boost/config/compiler/gcc.hpp
|
||||
--- boost_1_48_0~/boost/config/compiler/gcc.hpp 2012-01-16 16:15:14.643239525 +0100
|
||||
+++ boost_1_48_0/boost/config/compiler/gcc.hpp 2012-01-16 16:21:24.072247987 +0100
|
||||
@@ -120,13 +120,13 @@
|
||||
// _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment,
|
||||
// so does not define _WIN32 or its variants.
|
||||
# define BOOST_HAS_DECLSPEC
|
||||
-# define BOOST_SYMBOL_EXPORT __attribute__((dllexport))
|
||||
-# define BOOST_SYMBOL_IMPORT __attribute__((dllimport))
|
||||
+# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__))
|
||||
+# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))
|
||||
# else
|
||||
-# define BOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
|
||||
+# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
|
||||
# define BOOST_SYMBOL_IMPORT
|
||||
# endif
|
||||
-# define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
|
||||
+# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
|
||||
#else
|
||||
// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
|
||||
# define BOOST_SYMBOL_EXPORT
|
||||
diff -urp boost_1_48_0~/boost/gil/gil_config.hpp boost_1_48_0/boost/gil/gil_config.hpp
|
||||
--- boost_1_48_0~/boost/gil/gil_config.hpp 2012-01-16 16:15:29.883239865 +0100
|
||||
+++ boost_1_48_0/boost/gil/gil_config.hpp 2012-01-16 16:17:49.096243036 +0100
|
||||
@@ -32,7 +32,7 @@
|
||||
#if defined(_MSC_VER)
|
||||
# define GIL_FORCEINLINE __forceinline
|
||||
#elif defined(__GNUC__) && __GNUC__ > 3
|
||||
-# define GIL_FORCEINLINE inline __attribute__ ((always_inline))
|
||||
+# define GIL_FORCEINLINE inline __attribute__ ((__always_inline__))
|
||||
#else
|
||||
# define GIL_FORCEINLINE inline
|
||||
#endif
|
|
@ -0,0 +1,22 @@
|
|||
diff -up boost_1_54_0/boost/cstdint.hpp\~ boost_1_54_0/boost/cstdint.hpp
|
||||
--- boost_1_54_0/boost/cstdint.hpp~ 2013-03-09 14:55:05.000000000 -0800
|
||||
+++ boost_1_54_0/boost/cstdint.hpp 2013-07-15 13:19:07.344108660 -0700
|
||||
@@ -41,7 +41,15 @@
|
||||
// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
|
||||
// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
|
||||
//
|
||||
-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
|
||||
+// This define has been dropped altogether in GLIBC 2.17. As of then,
|
||||
+// support for long long is part of baseline requirements, and
|
||||
+// [u]int64_t is always defined. See here:
|
||||
+// http://sourceware.org/ml/libc-alpha/2013-01/msg00440.html
|
||||
+//
|
||||
+#if defined(BOOST_HAS_STDINT_H) \
|
||||
+ && (!defined(__GLIBC__) \
|
||||
+ || defined(__GLIBC_HAVE_LONG_LONG) \
|
||||
+ || (defined __GLIBC_PREREQ && __GLIBC_PREREQ(2,17)))
|
||||
|
||||
// The following #include is an implementation artifact; not part of interface.
|
||||
# ifdef __hpux
|
||||
|
||||
Diff finished. Mon Jul 15 13:19:50 2013
|
|
@ -0,0 +1,43 @@
|
|||
diff -urp boost_1_54_0-orig/boost/algorithm/string/detail/finder.hpp boost_1_54_0/boost/algorithm/string/detail/finder.hpp
|
||||
--- boost_1_54_0-orig/boost/algorithm/string/detail/finder.hpp 2013-07-23 00:47:43.933889672 +0200
|
||||
+++ boost_1_54_0/boost/algorithm/string/detail/finder.hpp 2013-07-23 00:50:40.324958667 +0200
|
||||
@@ -142,7 +142,6 @@ namespace boost {
|
||||
ForwardIteratorT End,
|
||||
std::forward_iterator_tag ) const
|
||||
{
|
||||
- typedef ForwardIteratorT input_iterator_type;
|
||||
typedef iterator_range<ForwardIteratorT> result_type;
|
||||
|
||||
first_finder_type first_finder(
|
||||
@@ -263,7 +262,6 @@ namespace boost {
|
||||
ForwardIteratorT End,
|
||||
unsigned int N) const
|
||||
{
|
||||
- typedef ForwardIteratorT input_iterator_type;
|
||||
typedef iterator_range<ForwardIteratorT> result_type;
|
||||
|
||||
// Sanity check
|
||||
@@ -298,7 +296,6 @@ namespace boost {
|
||||
ForwardIteratorT End,
|
||||
unsigned int N) const
|
||||
{
|
||||
- typedef ForwardIteratorT input_iterator_type;
|
||||
typedef iterator_range<ForwardIteratorT> result_type;
|
||||
|
||||
// Sanity check
|
||||
@@ -362,7 +359,6 @@ namespace boost {
|
||||
unsigned int N,
|
||||
std::random_access_iterator_tag )
|
||||
{
|
||||
- typedef ForwardIteratorT input_iterator_type;
|
||||
typedef iterator_range<ForwardIteratorT> result_type;
|
||||
|
||||
if ( (End<=Begin) || ( static_cast<unsigned int>(End-Begin) < N ) )
|
||||
@@ -436,7 +432,6 @@ namespace boost {
|
||||
unsigned int N,
|
||||
std::random_access_iterator_tag )
|
||||
{
|
||||
- typedef ForwardIteratorT input_iterator_type;
|
||||
typedef iterator_range<ForwardIteratorT> result_type;
|
||||
|
||||
if ( (End<=Begin) || ( static_cast<unsigned int>(End-Begin) < N ) )
|
|
@ -0,0 +1,129 @@
|
|||
diff -up boost-1.54.0/libs/context/src/asm/jump_arm_aapcs_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_arm_aapcs_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/jump_arm_aapcs_elf_gas.S~ 2012-12-21 02:22:09.000000000 -0800
|
||||
+++ boost-1.54.0/libs/context/src/asm/jump_arm_aapcs_elf_gas.S 2013-07-15 11:11:46.772543152 -0700
|
||||
@@ -71,3 +71,6 @@ jump_fcontext:
|
||||
@ and as first arg in context function
|
||||
ldmia a2, {v1-v8,sp-pc} @ restore v1-V8,SP-PC
|
||||
.size jump_fcontext,.-jump_fcontext
|
||||
+
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
||||
diff -up boost-1.54.0/libs/context/src/asm/jump_i386_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_i386_sysv_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/jump_i386_sysv_elf_gas.S~ 2012-09-18 02:06:47.000000000 -0700
|
||||
+++ boost-1.54.0/libs/context/src/asm/jump_i386_sysv_elf_gas.S 2013-07-15 11:10:32.829144835 -0700
|
||||
@@ -70,3 +70,6 @@ jump_fcontext:
|
||||
|
||||
jmp *%edx /* indirect jump to context */
|
||||
.size jump_fcontext,.-jump_fcontext
|
||||
+
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
||||
diff -up boost-1.54.0/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S~ 2012-11-27 23:52:08.000000000 -0800
|
||||
+++ boost-1.54.0/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S 2013-07-15 11:10:57.848279687 -0700
|
||||
@@ -178,3 +178,6 @@ jump_fcontext:
|
||||
|
||||
bctr # jump to context
|
||||
.size jump_fcontext, .-jump_fcontext
|
||||
+
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
||||
diff -up boost-1.54.0/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S~ 2012-11-27 23:52:08.000000000 -0800
|
||||
+++ boost-1.54.0/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S 2013-07-15 11:11:07.189330597 -0700
|
||||
@@ -199,3 +199,6 @@ jump_fcontext:
|
||||
|
||||
bctr # jump to context
|
||||
.size .jump_fcontext, .-.jump_fcontext
|
||||
+
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
||||
diff -up boost-1.54.0/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S~ 2012-09-18 02:06:47.000000000 -0700
|
||||
+++ boost-1.54.0/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S 2013-07-15 11:09:49.724912924 -0700
|
||||
@@ -80,3 +80,6 @@ jump_fcontext:
|
||||
|
||||
jmp *%rcx /* indirect jump to context */
|
||||
.size jump_fcontext,.-jump_fcontext
|
||||
+
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
||||
diff -up boost-1.54.0/libs/context/src/asm/make_arm_aapcs_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_arm_aapcs_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/make_arm_aapcs_elf_gas.S~ 2013-01-15 01:51:39.000000000 -0800
|
||||
+++ boost-1.54.0/libs/context/src/asm/make_arm_aapcs_elf_gas.S 2013-07-15 11:11:38.626499289 -0700
|
||||
@@ -74,3 +74,6 @@ finish:
|
||||
mov a1, #0 @ exit code is zero
|
||||
bl _exit@PLT @ exit application
|
||||
.size make_fcontext,.-make_fcontext
|
||||
+
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
||||
diff -up boost-1.54.0/libs/context/src/asm/make_i386_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_i386_sysv_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/make_i386_sysv_elf_gas.S~ 2013-06-07 08:38:10.000000000 -0700
|
||||
+++ boost-1.54.0/libs/context/src/asm/make_i386_sysv_elf_gas.S 2013-07-15 11:10:40.333185226 -0700
|
||||
@@ -75,3 +75,6 @@ finish:
|
||||
call _exit@PLT /* exit application */
|
||||
hlt
|
||||
.size make_fcontext,.-make_fcontext
|
||||
+
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
||||
diff -up boost-1.54.0/libs/context/src/asm/make_mips32_o32_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_mips32_o32_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/make_mips32_o32_elf_gas.S~ 2012-11-27 23:52:08.000000000 -0800
|
||||
+++ boost-1.54.0/libs/context/src/asm/make_mips32_o32_elf_gas.S 2013-07-15 11:12:34.392799546 -0700
|
||||
@@ -83,3 +83,6 @@ finish:
|
||||
jalr $t9 # exit application
|
||||
.end make_fcontext
|
||||
.size make_fcontext, .-make_fcontext
|
||||
+
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
||||
diff -up boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S~ 2013-05-08 22:40:43.000000000 -0700
|
||||
+++ boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S 2013-07-15 11:11:20.247400344 -0700
|
||||
@@ -109,3 +109,6 @@ finish:
|
||||
li %r3, 0 # exit code is zero
|
||||
bl _exit@plt # exit application
|
||||
.size make_fcontext, .-make_fcontext
|
||||
+
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
||||
diff -up boost-1.54.0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S~ 2013-05-08 22:40:43.000000000 -0700
|
||||
+++ boost-1.54.0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S 2013-07-15 11:11:13.400363259 -0700
|
||||
@@ -131,3 +131,6 @@ finish:
|
||||
bl _exit # exit application
|
||||
nop
|
||||
.size .make_fcontext, .-.make_fcontext
|
||||
+
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
||||
diff -up boost-1.54.0/libs/context/src/asm/make_sparc64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_sparc64_sysv_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/make_sparc64_sysv_elf_gas.S~ 2013-02-12 04:55:22.000000000 -0800
|
||||
+++ boost-1.54.0/libs/context/src/asm/make_sparc64_sysv_elf_gas.S 2013-07-15 11:12:41.643838416 -0700
|
||||
@@ -84,3 +84,6 @@ finish:
|
||||
nop
|
||||
|
||||
.size make_fcontext,.-make_fcontext
|
||||
+
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
||||
diff -up boost-1.54.0/libs/context/src/asm/make_sparc_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_sparc_sysv_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/make_sparc_sysv_elf_gas.S~ 2013-02-12 04:55:22.000000000 -0800
|
||||
+++ boost-1.54.0/libs/context/src/asm/make_sparc_sysv_elf_gas.S 2013-07-15 11:12:48.733876794 -0700
|
||||
@@ -80,3 +80,6 @@ finish:
|
||||
nop
|
||||
|
||||
.size make_fcontext,.-make_fcontext
|
||||
+
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
||||
diff -up boost-1.54.0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
|
||||
--- boost-1.54.0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S~ 2012-11-29 23:38:52.000000000 -0800
|
||||
+++ boost-1.54.0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S 2013-07-15 11:10:06.151001366 -0700
|
||||
@@ -72,3 +72,5 @@ finish:
|
||||
hlt
|
||||
.size make_fcontext,.-make_fcontext
|
||||
|
||||
+/* Mark that we don't need executable stack. */
|
||||
+.section .note.GNU-stack,"",@progbits
|
|
@ -0,0 +1,11 @@
|
|||
diff -urp boost_1_54_0-orig/boost/graph/breadth_first_search.hpp boost_1_54_0/boost/graph/breadth_first_search.hpp
|
||||
--- boost_1_54_0-orig/boost/graph/breadth_first_search.hpp 2013-07-23 00:47:43.418886551 +0200
|
||||
+++ boost_1_54_0/boost/graph/breadth_first_search.hpp 2013-07-23 00:50:40.339958756 +0200
|
||||
@@ -64,7 +64,6 @@ namespace boost {
|
||||
BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<IncidenceGraph> ));
|
||||
typedef graph_traits<IncidenceGraph> GTraits;
|
||||
typedef typename GTraits::vertex_descriptor Vertex;
|
||||
- typedef typename GTraits::edge_descriptor Edge;
|
||||
BOOST_CONCEPT_ASSERT(( BFSVisitorConcept<BFSVisitor, IncidenceGraph> ));
|
||||
BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<ColorMap, Vertex> ));
|
||||
typedef typename property_traits<ColorMap>::value_type ColorValue;
|
|
@ -0,0 +1,14 @@
|
|||
diff -up boost_1_54_0/boost/interprocess/detail/atomic.hpp\~ boost_1_54_0/boost/interprocess/detail/atomic.hpp
|
||||
--- boost_1_54_0/boost/interprocess/detail/atomic.hpp~ 2012-09-24 14:17:34.000000000 +0200
|
||||
+++ boost_1_54_0/boost/interprocess/detail/atomic.hpp 2013-08-29 16:36:51.682606594 +0200
|
||||
@@ -213,7 +213,7 @@ inline boost::uint32_t atomic_cas32
|
||||
"bne- 1b\n\t"
|
||||
"2:"
|
||||
: "=&r"(prev)
|
||||
- : "b" (mem), "r"(cmp), "r" (with)
|
||||
+ : "b" (mem), "r" (with), "r" (cmp)
|
||||
: "cc", "memory");
|
||||
return prev;
|
||||
}
|
||||
|
||||
Diff finished. Thu Aug 29 16:36:55 2013
|
|
@ -0,0 +1,61 @@
|
|||
diff -up boost/lexical_cast.hpp\~ boost/lexical_cast.hpp
|
||||
--- boost/lexical_cast.hpp~ 2013-07-27 12:03:21.000000000 +0200
|
||||
+++ boost/lexical_cast.hpp 2013-07-30 19:30:54.969548144 +0200
|
||||
@@ -69,11 +69,6 @@
|
||||
throw_exception(bad_lexical_cast(typeid(Source), typeid(Target)))
|
||||
#endif
|
||||
|
||||
-#if (defined(BOOST_LCAST_HAS_INT128) && !defined(__GNUC__)) || GCC_VERSION > 40700
|
||||
-#define BOOST_LCAST_HAS_INT128
|
||||
-#endif
|
||||
-
|
||||
-
|
||||
namespace boost
|
||||
{
|
||||
// exception used to indicate runtime lexical_cast failure
|
||||
@@ -316,7 +311,7 @@ namespace boost {
|
||||
> {};
|
||||
#endif
|
||||
|
||||
-#ifdef BOOST_LCAST_HAS_INT128
|
||||
+#ifdef BOOST_HAS_INT128
|
||||
template <> struct stream_char_common< boost::int128_type >: public boost::mpl::identity< char > {};
|
||||
template <> struct stream_char_common< boost::uint128_type >: public boost::mpl::identity< char > {};
|
||||
#endif
|
||||
@@ -613,7 +608,7 @@ namespace boost {
|
||||
BOOST_LCAST_DEF(unsigned __int64)
|
||||
BOOST_LCAST_DEF( __int64)
|
||||
#endif
|
||||
-#ifdef BOOST_LCAST_HAS_INT128
|
||||
+#ifdef BOOST_HAS_INT128
|
||||
BOOST_LCAST_DEF(boost::int128_type)
|
||||
BOOST_LCAST_DEF(boost::uint128_type)
|
||||
#endif
|
||||
@@ -1827,7 +1822,7 @@ namespace boost {
|
||||
bool operator<<( __int64 n) { return shl_signed(n); }
|
||||
#endif
|
||||
|
||||
-#ifdef BOOST_LCAST_HAS_INT128
|
||||
+#ifdef BOOST_HAS_INT128
|
||||
bool operator<<(const boost::uint128_type& n) { start = lcast_put_unsigned<Traits>(n, finish); return true; }
|
||||
bool operator<<(const boost::int128_type& n) { return shl_signed(n); }
|
||||
#endif
|
||||
@@ -2039,7 +2034,7 @@ namespace boost {
|
||||
bool operator>>(__int64& output) { return shr_signed(output); }
|
||||
#endif
|
||||
|
||||
-#ifdef BOOST_LCAST_HAS_INT128
|
||||
+#ifdef BOOST_HAS_INT128
|
||||
bool operator>>(boost::uint128_type& output) { return shr_unsigned(output); }
|
||||
bool operator>>(boost::int128_type& output) { return shr_signed(output); }
|
||||
#endif
|
||||
@@ -2719,7 +2714,6 @@ namespace boost {
|
||||
|
||||
#undef BOOST_LCAST_THROW_BAD_CAST
|
||||
#undef BOOST_LCAST_NO_WCHAR_T
|
||||
-#undef BOOST_LCAST_HAS_INT128
|
||||
|
||||
#endif // BOOST_LEXICAL_CAST_INCLUDED
|
||||
|
||||
|
||||
Diff finished. Tue Jul 30 19:30:58 2013
|
|
@ -0,0 +1,52 @@
|
|||
Index: boost/math/special_functions/airy.hpp
|
||||
===================================================================
|
||||
--- boost/math/special_functions/airy.hpp (revision 85073)
|
||||
+++ boost/math/special_functions/airy.hpp (working copy)
|
||||
@@ -340,13 +340,6 @@
|
||||
inline T airy_ai_zero(unsigned m, const Policy& pol)
|
||||
{
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
- typedef typename policies::evaluation<T, Policy>::type value_type;
|
||||
- typedef typename policies::normalise<
|
||||
- Policy,
|
||||
- policies::promote_float<false>,
|
||||
- policies::promote_double<false>,
|
||||
- policies::discrete_quantile<>,
|
||||
- policies::assert_undefined<> >::type forwarding_policy;
|
||||
BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<T>::is_integer, "Airy return type must be a floating-point type.");
|
||||
return policies::checked_narrowing_cast<T, Policy>(detail::airy_ai_zero_imp<T>(m, pol), "boost::math::airy_ai_zero<%1%>(unsigned)");
|
||||
}
|
||||
@@ -388,13 +381,6 @@
|
||||
inline T airy_bi_zero(unsigned m, const Policy& pol)
|
||||
{
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
- typedef typename policies::evaluation<T, Policy>::type value_type;
|
||||
- typedef typename policies::normalise<
|
||||
- Policy,
|
||||
- policies::promote_float<false>,
|
||||
- policies::promote_double<false>,
|
||||
- policies::discrete_quantile<>,
|
||||
- policies::assert_undefined<> >::type forwarding_policy;
|
||||
BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<T>::is_integer, "Airy return type must be a floating-point type.");
|
||||
return policies::checked_narrowing_cast<T, Policy>(detail::airy_bi_zero_imp<T>(m, pol), "boost::math::airy_bi_zero<%1%>(unsigned)");
|
||||
}
|
||||
Index: boost/math/special_functions/beta.hpp
|
||||
===================================================================
|
||||
--- boost/math/special_functions/beta.hpp (revision 85073)
|
||||
+++ boost/math/special_functions/beta.hpp (working copy)
|
||||
@@ -1331,7 +1331,6 @@
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
|
||||
typedef typename policies::evaluation<result_type, Policy>::type value_type;
|
||||
- typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
@@ -1349,7 +1348,6 @@
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
|
||||
typedef typename policies::evaluation<result_type, Policy>::type value_type;
|
||||
- typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
|
@ -0,0 +1,15 @@
|
|||
diff -up boost_1_54_0/boost/math/distributions/inverse_gaussian.hpp~ boost_1_54_0/boost/math/distributions/inverse_gaussian.hpp
|
||||
--- boost_1_54_0/boost/math/distributions/inverse_gaussian.hpp~ 2012-09-07 01:43:19.000000000 -0700
|
||||
+++ boost_1_54_0/boost/math/distributions/inverse_gaussian.hpp 2013-07-22 03:42:15.216142075 -0700
|
||||
@@ -285,10 +285,8 @@ namespace detail
|
||||
|
||||
// Define the distribution, using gamma_nooverflow:
|
||||
typedef gamma_distribution<RealType, no_overthrow_policy> gamma_nooverflow;
|
||||
+ gamma_nooverflow g(static_cast<RealType>(0.5), static_cast<RealType>(1.));
|
||||
|
||||
- gamma_distribution<RealType, no_overthrow_policy> g(static_cast<RealType>(0.5), static_cast<RealType>(1.));
|
||||
-
|
||||
- // gamma_nooverflow g(static_cast<RealType>(0.5), static_cast<RealType>(1.));
|
||||
// R qgamma(0.2, 0.5, 1) 0.0320923
|
||||
RealType qg = quantile(complement(g, p));
|
||||
//RealType qg1 = qgamma(1.- p, 0.5, 1.0, true, false);
|
|
@ -0,0 +1,11 @@
|
|||
diff -urp boost_1_54_0-orig/libs/mpi/src/communicator.cpp boost_1_54_0/libs/mpi/src/communicator.cpp
|
||||
--- boost_1_54_0-orig/libs/mpi/src/communicator.cpp 2013-07-23 00:48:17.317091987 +0200
|
||||
+++ boost_1_54_0/libs/mpi/src/communicator.cpp 2013-07-23 00:50:40.722961078 +0200
|
||||
@@ -118,7 +118,6 @@ optional<status> communicator::iprobe(in
|
||||
|
||||
status communicator::probe(int source, int tag) const
|
||||
{
|
||||
- typedef optional<status> result_type;
|
||||
|
||||
status stat;
|
||||
BOOST_MPI_CHECK_RESULT(MPI_Probe,
|
|
@ -0,0 +1,148 @@
|
|||
diff -up boost_1_54_0/boost/multiprecision/detail/functions/constants.hpp~ boost_1_54_0/boost/multiprecision/detail/functions/constants.hpp
|
||||
--- boost_1_54_0/boost/multiprecision/detail/functions/constants.hpp~ 2012-09-20 09:04:02.000000000 -0700
|
||||
+++ boost_1_54_0/boost/multiprecision/detail/functions/constants.hpp 2013-07-22 03:31:01.145084522 -0700
|
||||
@@ -81,7 +81,6 @@ template <class T>
|
||||
void calc_e(T& result, unsigned digits)
|
||||
{
|
||||
typedef typename mpl::front<typename T::unsigned_types>::type ui_type;
|
||||
- typedef typename mpl::front<typename T::float_types>::type real_type;
|
||||
//
|
||||
// 1100 digits in string form:
|
||||
//
|
||||
diff -up boost_1_54_0/boost/multiprecision/detail/functions/pow.hpp~ boost_1_54_0/boost/multiprecision/detail/functions/pow.hpp
|
||||
--- boost_1_54_0/boost/multiprecision/detail/functions/pow.hpp~ 2013-03-31 09:34:50.000000000 -0700
|
||||
+++ boost_1_54_0/boost/multiprecision/detail/functions/pow.hpp 2013-07-22 03:43:12.495489757 -0700
|
||||
@@ -142,10 +142,6 @@ void hyp1F0(T& H1F0, const T& a, const T
|
||||
// There are no checks on input range or parameter boundaries.
|
||||
|
||||
typedef typename boost::multiprecision::detail::canonical<int, T>::type si_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<unsigned, T>::type ui_type;
|
||||
- typedef typename T::exponent_type exp_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
|
||||
- typedef typename mpl::front<typename T::float_types>::type fp_type;
|
||||
|
||||
BOOST_ASSERT(&H1F0 != &x);
|
||||
BOOST_ASSERT(&H1F0 != &a);
|
||||
@@ -200,7 +196,6 @@ void eval_exp(T& result, const T& x)
|
||||
typedef typename boost::multiprecision::detail::canonical<int, T>::type si_type;
|
||||
typedef typename T::exponent_type exp_type;
|
||||
typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<float, T>::type float_type;
|
||||
|
||||
// Handle special arguments.
|
||||
int type = eval_fpclassify(x);
|
||||
@@ -326,7 +321,6 @@ void eval_log(T& result, const T& arg)
|
||||
// then let y = x - 1 and compute:
|
||||
// log(x) = log(2) * n + log1p(1 + y)
|
||||
//
|
||||
- typedef typename boost::multiprecision::detail::canonical<int, T>::type si_type;
|
||||
typedef typename boost::multiprecision::detail::canonical<unsigned, T>::type ui_type;
|
||||
typedef typename T::exponent_type exp_type;
|
||||
typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
|
||||
@@ -409,9 +403,6 @@ inline void eval_pow(T& result, const T&
|
||||
{
|
||||
BOOST_STATIC_ASSERT_MSG(number_category<T>::value == number_kind_floating_point, "The pow function is only valid for floating point types.");
|
||||
typedef typename boost::multiprecision::detail::canonical<int, T>::type si_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<unsigned, T>::type ui_type;
|
||||
- typedef typename T::exponent_type exp_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
|
||||
typedef typename mpl::front<typename T::float_types>::type fp_type;
|
||||
|
||||
if((&result == &x) || (&result == &a))
|
||||
@@ -595,10 +586,7 @@ namespace detail{
|
||||
template <class T>
|
||||
void sinhcosh(const T& x, T* p_sinh, T* p_cosh)
|
||||
{
|
||||
- typedef typename boost::multiprecision::detail::canonical<int, T>::type si_type;
|
||||
typedef typename boost::multiprecision::detail::canonical<unsigned, T>::type ui_type;
|
||||
- typedef typename T::exponent_type exp_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
|
||||
typedef typename mpl::front<typename T::float_types>::type fp_type;
|
||||
|
||||
switch(eval_fpclassify(x))
|
||||
diff -up boost_1_54_0/boost/multiprecision/detail/functions/trig.hpp~ boost_1_54_0/boost/multiprecision/detail/functions/trig.hpp
|
||||
--- boost_1_54_0/boost/multiprecision/detail/functions/trig.hpp~ 2013-03-31 09:34:50.000000000 -0700
|
||||
+++ boost_1_54_0/boost/multiprecision/detail/functions/trig.hpp 2013-07-22 03:44:30.512963273 -0700
|
||||
@@ -17,9 +17,6 @@ void hyp0F1(T& result, const T& b, const
|
||||
{
|
||||
typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
|
||||
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
|
||||
- typedef typename T::exponent_type exp_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
|
||||
- typedef typename mpl::front<typename T::float_types>::type fp_type;
|
||||
|
||||
// Compute the series representation of Hypergeometric0F1 taken from
|
||||
// http://functions.wolfram.com/HypergeometricFunctions/Hypergeometric0F1/06/01/01/
|
||||
@@ -82,8 +79,6 @@ void eval_sin(T& result, const T& x)
|
||||
|
||||
typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
|
||||
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
|
||||
- typedef typename T::exponent_type exp_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
|
||||
typedef typename mpl::front<typename T::float_types>::type fp_type;
|
||||
|
||||
switch(eval_fpclassify(x))
|
||||
@@ -228,8 +223,6 @@ void eval_cos(T& result, const T& x)
|
||||
|
||||
typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
|
||||
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
|
||||
- typedef typename T::exponent_type exp_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
|
||||
typedef typename mpl::front<typename T::float_types>::type fp_type;
|
||||
|
||||
switch(eval_fpclassify(x))
|
||||
@@ -381,11 +374,7 @@ void hyp2F1(T& result, const T& a, const
|
||||
// Abramowitz and Stegun 15.1.1.
|
||||
// There are no checks on input range or parameter boundaries.
|
||||
|
||||
- typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
|
||||
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
|
||||
- typedef typename T::exponent_type exp_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
|
||||
- typedef typename mpl::front<typename T::float_types>::type fp_type;
|
||||
|
||||
T x_pow_n_div_n_fact(x);
|
||||
T pochham_a (a);
|
||||
@@ -443,10 +432,7 @@ template <class T>
|
||||
void eval_asin(T& result, const T& x)
|
||||
{
|
||||
BOOST_STATIC_ASSERT_MSG(number_category<T>::value == number_kind_floating_point, "The asin function is only valid for floating point types.");
|
||||
- typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
|
||||
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
|
||||
- typedef typename T::exponent_type exp_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
|
||||
typedef typename mpl::front<typename T::float_types>::type fp_type;
|
||||
|
||||
if(&result == &x)
|
||||
@@ -597,8 +583,6 @@ void eval_atan(T& result, const T& x)
|
||||
BOOST_STATIC_ASSERT_MSG(number_category<T>::value == number_kind_floating_point, "The atan function is only valid for floating point types.");
|
||||
typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
|
||||
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
|
||||
- typedef typename T::exponent_type exp_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
|
||||
typedef typename mpl::front<typename T::float_types>::type fp_type;
|
||||
|
||||
switch(eval_fpclassify(x))
|
||||
@@ -699,11 +683,7 @@ void eval_atan2(T& result, const T& y, c
|
||||
return;
|
||||
}
|
||||
|
||||
- typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
|
||||
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
|
||||
- typedef typename T::exponent_type exp_type;
|
||||
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
|
||||
- typedef typename mpl::front<typename T::float_types>::type fp_type;
|
||||
|
||||
switch(eval_fpclassify(y))
|
||||
{
|
||||
diff -up boost_1_54_0/boost/multiprecision/detail/generic_interconvert.hpp~ boost_1_54_0/boost/multiprecision/detail/generic_interconvert.hpp
|
||||
--- boost_1_54_0/boost/multiprecision/detail/generic_interconvert.hpp~ 2012-12-20 09:42:14.000000000 -0800
|
||||
+++ boost_1_54_0/boost/multiprecision/detail/generic_interconvert.hpp 2013-07-22 03:38:51.614906286 -0700
|
||||
@@ -191,7 +191,6 @@ void generic_interconvert(To& to, const
|
||||
template <class To, class From>
|
||||
void generic_interconvert(To& to, const From& from, const mpl::int_<number_kind_rational>& /*to_type*/, const mpl::int_<number_kind_rational>& /*from_type*/)
|
||||
{
|
||||
- typedef typename component_type<number<From> >::type from_component_type;
|
||||
typedef typename component_type<number<To> >::type to_component_type;
|
||||
|
||||
number<From> t(from);
|
|
@ -0,0 +1,88 @@
|
|||
From f65c57d9d2a4f535e36c96b7f563574634e46b02 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Dimov <pdimov@pdimov.com>
|
||||
Date: Wed, 12 Nov 2014 19:04:29 +0200
|
||||
Subject: [PATCH] Fix explicit instantiation regression
|
||||
|
||||
---
|
||||
include/boost/smart_ptr/shared_ptr.hpp | 2 +-
|
||||
test/Jamfile.v2 | 2 ++
|
||||
test/array_fail_array_access.cpp | 6 +++++-
|
||||
test/sp_explicit_inst_test.cpp | 23 +++++++++++++++++++++++
|
||||
4 files changed, 31 insertions(+), 2 deletions(-)
|
||||
create mode 100644 test/sp_explicit_inst_test.cpp
|
||||
|
||||
diff --git a/include/boost/smart_ptr/shared_ptr.hpp b/include/boost/smart_ptr/shared_ptr.hpp
|
||||
index 82ece8b..8be92ab 100644
|
||||
--- a/boost/smart_ptr/shared_ptr.hpp
|
||||
+++ b/boost/smart_ptr/shared_ptr.hpp
|
||||
@@ -655,7 +655,7 @@ public:
|
||||
BOOST_ASSERT( px != 0 );
|
||||
BOOST_ASSERT( i >= 0 && ( i < boost::detail::sp_extent< T >::value || boost::detail::sp_extent< T >::value == 0 ) );
|
||||
|
||||
- return px[ i ];
|
||||
+ return static_cast< typename boost::detail::sp_array_access< T >::type >( px[ i ] );
|
||||
}
|
||||
|
||||
element_type * get() const BOOST_NOEXCEPT
|
||||
diff --git a/test/Jamfile.v2 b/test/Jamfile.v2
|
||||
index 027367c..0b51eee 100644
|
||||
--- a/libs/smart_ptr/test/Jamfile.v2
|
||||
+++ b/libs/smart_ptr/test/Jamfile.v2
|
||||
@@ -153,5 +153,7 @@ import testing ;
|
||||
[ run allocate_shared_array_throws_test.cpp ]
|
||||
[ run allocate_shared_array_esft_test.cpp ]
|
||||
[ run allocate_shared_array_args_test.cpp ]
|
||||
+
|
||||
+ [ compile sp_explicit_inst_test.cpp ]
|
||||
;
|
||||
}
|
||||
diff --git a/test/array_fail_array_access.cpp b/test/array_fail_array_access.cpp
|
||||
index abfacbe..4f4e3f8 100644
|
||||
--- a/libs/smart_ptr/test/array_fail_array_access.cpp
|
||||
+++ b/libs/smart_ptr/test/array_fail_array_access.cpp
|
||||
@@ -12,8 +12,12 @@ struct X
|
||||
{
|
||||
};
|
||||
|
||||
+template<class T> void f( T & /*t*/ )
|
||||
+{
|
||||
+}
|
||||
+
|
||||
int main()
|
||||
{
|
||||
boost::shared_ptr<X> px( new X );
|
||||
- px[ 0 ];
|
||||
+ f( px[ 0 ] );
|
||||
}
|
||||
diff --git a/test/sp_explicit_inst_test.cpp b/test/sp_explicit_inst_test.cpp
|
||||
new file mode 100644
|
||||
index 0000000..d8de782
|
||||
--- /dev/null
|
||||
+++ b/libs/smart_ptr/test/sp_explicit_inst_test.cpp
|
||||
@@ -0,0 +1,23 @@
|
||||
+//
|
||||
+// Explicit instantiations are reported to exist in user code
|
||||
+//
|
||||
+// Copyright (c) 2014 Peter Dimov
|
||||
+//
|
||||
+// Distributed under the Boost Software License, Version 1.0.
|
||||
+// See accompanying file LICENSE_1_0.txt or copy at
|
||||
+// http://www.boost.org/LICENSE_1_0.txt
|
||||
+//
|
||||
+
|
||||
+#include <boost/shared_ptr.hpp>
|
||||
+
|
||||
+template class boost::shared_ptr< int >;
|
||||
+
|
||||
+struct X
|
||||
+{
|
||||
+};
|
||||
+
|
||||
+template class boost::shared_ptr< X >;
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+}
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
diff -up ./boost/thread/pthread/condition_variable.hpp~ ./boost/thread/pthread/condition_variable.hpp
|
||||
--- ./boost/thread/pthread/condition_variable.hpp~ 2013-01-14 18:17:50.000000000 +0100
|
||||
+++ ./boost/thread/pthread/condition_variable.hpp 2013-08-22 11:47:48.330596804 +0200
|
||||
@@ -200,15 +200,15 @@ namespace boost
|
||||
|
||||
#if defined BOOST_THREAD_USES_DATETIME
|
||||
template<typename lock_type>
|
||||
- bool timed_wait(lock_type& m,boost::system_time const& wait_until)
|
||||
+ bool timed_wait(lock_type& m,boost::system_time const& a_wait_until)
|
||||
{
|
||||
- struct timespec const timeout=detail::to_timespec(wait_until);
|
||||
+ struct timespec const timeout=detail::to_timespec(a_wait_until);
|
||||
return do_wait_until(m, timeout);
|
||||
}
|
||||
template<typename lock_type>
|
||||
- bool timed_wait(lock_type& m,xtime const& wait_until)
|
||||
+ bool timed_wait(lock_type& m,xtime const& a_wait_until)
|
||||
{
|
||||
- return timed_wait(m,system_time(wait_until));
|
||||
+ return timed_wait(m,system_time(a_wait_until));
|
||||
}
|
||||
|
||||
template<typename lock_type,typename duration_type>
|
||||
@@ -218,20 +218,20 @@ namespace boost
|
||||
}
|
||||
|
||||
template<typename lock_type,typename predicate_type>
|
||||
- bool timed_wait(lock_type& m,boost::system_time const& wait_until,predicate_type pred)
|
||||
+ bool timed_wait(lock_type& m,boost::system_time const& a_wait_until,predicate_type pred)
|
||||
{
|
||||
while (!pred())
|
||||
{
|
||||
- if(!timed_wait(m, wait_until))
|
||||
+ if(!timed_wait(m, a_wait_until))
|
||||
return pred();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
template<typename lock_type,typename predicate_type>
|
||||
- bool timed_wait(lock_type& m,xtime const& wait_until,predicate_type pred)
|
||||
+ bool timed_wait(lock_type& m,xtime const& a_wait_until,predicate_type pred)
|
||||
{
|
||||
- return timed_wait(m,system_time(wait_until),pred);
|
||||
+ return timed_wait(m,system_time(a_wait_until),pred);
|
||||
}
|
||||
|
||||
template<typename lock_type,typename duration_type,typename predicate_type>
|
||||
diff -up ./boost/thread/pthread/condition_variable_fwd.hpp~ ./boost/thread/pthread/condition_variable_fwd.hpp
|
||||
--- ./boost/thread/pthread/condition_variable_fwd.hpp~ 2013-01-14 18:17:50.000000000 +0100
|
||||
+++ ./boost/thread/pthread/condition_variable_fwd.hpp 2013-08-22 11:46:26.579385366 +0200
|
||||
@@ -98,21 +98,21 @@ namespace boost
|
||||
#if defined BOOST_THREAD_USES_DATETIME
|
||||
inline bool timed_wait(
|
||||
unique_lock<mutex>& m,
|
||||
- boost::system_time const& wait_until)
|
||||
+ boost::system_time const& a_wait_until)
|
||||
{
|
||||
#if defined BOOST_THREAD_WAIT_BUG
|
||||
- struct timespec const timeout=detail::to_timespec(wait_until + BOOST_THREAD_WAIT_BUG);
|
||||
+ struct timespec const timeout=detail::to_timespec(a_wait_until + BOOST_THREAD_WAIT_BUG);
|
||||
return do_wait_until(m, timeout);
|
||||
#else
|
||||
- struct timespec const timeout=detail::to_timespec(wait_until);
|
||||
+ struct timespec const timeout=detail::to_timespec(a_wait_until);
|
||||
return do_wait_until(m, timeout);
|
||||
#endif
|
||||
}
|
||||
bool timed_wait(
|
||||
unique_lock<mutex>& m,
|
||||
- xtime const& wait_until)
|
||||
+ xtime const& a_wait_until)
|
||||
{
|
||||
- return timed_wait(m,system_time(wait_until));
|
||||
+ return timed_wait(m,system_time(a_wait_until));
|
||||
}
|
||||
|
||||
template<typename duration_type>
|
||||
@@ -126,11 +126,11 @@ namespace boost
|
||||
template<typename predicate_type>
|
||||
bool timed_wait(
|
||||
unique_lock<mutex>& m,
|
||||
- boost::system_time const& wait_until,predicate_type pred)
|
||||
+ boost::system_time const& a_wait_until,predicate_type pred)
|
||||
{
|
||||
while (!pred())
|
||||
{
|
||||
- if(!timed_wait(m, wait_until))
|
||||
+ if(!timed_wait(m, a_wait_until))
|
||||
return pred();
|
||||
}
|
||||
return true;
|
||||
@@ -139,9 +139,9 @@ namespace boost
|
||||
template<typename predicate_type>
|
||||
bool timed_wait(
|
||||
unique_lock<mutex>& m,
|
||||
- xtime const& wait_until,predicate_type pred)
|
||||
+ xtime const& a_wait_until,predicate_type pred)
|
||||
{
|
||||
- return timed_wait(m,system_time(wait_until),pred);
|
||||
+ return timed_wait(m,system_time(a_wait_until),pred);
|
||||
}
|
||||
|
||||
template<typename duration_type,typename predicate_type>
|
|
@ -0,0 +1,51 @@
|
|||
diff -Nurp boost_1_54_0/libs/thread/build/has_atomic_flag_lockfree_test.cpp boost_1_54_0.pm/libs/thread/build/has_atomic_flag_lockfree_test.cpp
|
||||
--- boost_1_54_0/libs/thread/build/has_atomic_flag_lockfree_test.cpp 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ boost_1_54_0.pm/libs/thread/build/has_atomic_flag_lockfree_test.cpp 2013-08-23 19:51:52.706329968 +0200
|
||||
@@ -0,0 +1,14 @@
|
||||
+// Copyright (c) 2013, Petr Machata, Red Hat Inc.
|
||||
+//
|
||||
+// Use modification and distribution are subject to the boost Software
|
||||
+// License, Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
|
||||
+
|
||||
+#include "../../../boost/atomic.hpp"
|
||||
+#include "../../../boost/static_assert.hpp"
|
||||
+
|
||||
+int
|
||||
+main(int argc, char *argv[])
|
||||
+{
|
||||
+ BOOST_STATIC_ASSERT(BOOST_ATOMIC_FLAG_LOCK_FREE);
|
||||
+ return 0;
|
||||
+}
|
||||
diff -Nurp boost_1_54_0/libs/thread/build/Jamfile.v2 boost_1_54_0.pm/libs/thread/build/Jamfile.v2
|
||||
--- boost_1_54_0/libs/thread/build/Jamfile.v2 2013-06-15 12:35:45.000000000 +0200
|
||||
+++ boost_1_54_0.pm/libs/thread/build/Jamfile.v2 2013-08-23 19:52:30.018613408 +0200
|
||||
@@ -36,6 +36,7 @@ import os ;
|
||||
import feature ;
|
||||
import indirect ;
|
||||
import path ;
|
||||
+import configure ;
|
||||
|
||||
project boost/thread
|
||||
: source-location ../src
|
||||
@@ -140,6 +141,8 @@ local rule default_threadapi ( )
|
||||
feature.feature threadapi : pthread win32 : propagated ;
|
||||
feature.set-default threadapi : [ default_threadapi ] ;
|
||||
|
||||
+exe has_atomic_flag_lockfree : ../build/has_atomic_flag_lockfree_test.cpp ;
|
||||
+
|
||||
rule tag ( name : type ? : property-set )
|
||||
{
|
||||
local result = $(name) ;
|
||||
@@ -248,6 +251,12 @@ rule requirements ( properties * )
|
||||
{
|
||||
local result ;
|
||||
|
||||
+ if ! [ configure.builds has_atomic_flag_lockfree
|
||||
+ : $(properties) : "lockfree boost::atomic_flag" ]
|
||||
+ {
|
||||
+ result += <library>/boost/atomic//boost_atomic ;
|
||||
+ }
|
||||
+
|
||||
if <threadapi>pthread in $(properties)
|
||||
{
|
||||
result += <define>BOOST_THREAD_POSIX ;
|
|
@ -0,0 +1,14 @@
|
|||
diff -up boost_1_54_0/boost/unordered/detail/unique.hpp\~ boost_1_54_0/boost/unordered/detail/unique.hpp
|
||||
--- boost_1_54_0/boost/unordered/detail/unique.hpp~ 2012-12-05 23:06:57.000000000 +0100
|
||||
+++ boost_1_54_0/boost/unordered/detail/unique.hpp 2013-07-22 23:54:29.222516306 +0200
|
||||
@@ -334,8 +334,6 @@ namespace boost { namespace unordered {
|
||||
|
||||
value_type& operator[](key_type const& k)
|
||||
{
|
||||
- typedef typename value_type::second_type mapped_type;
|
||||
-
|
||||
std::size_t key_hash = this->hash(k);
|
||||
iterator pos = this->find_node(key_hash, k);
|
||||
|
||||
|
||||
Diff finished. Mon Jul 22 23:55:15 2013
|
|
@ -0,0 +1,11 @@
|
|||
diff -urp boost_1_54_0-orig/boost/xpressive/regex_algorithms.hpp boost_1_54_0/boost/xpressive/regex_algorithms.hpp
|
||||
--- boost_1_54_0-orig/boost/xpressive/regex_algorithms.hpp 2013-07-23 00:47:50.804931313 +0200
|
||||
+++ boost_1_54_0/boost/xpressive/regex_algorithms.hpp 2013-07-23 00:50:40.721961072 +0200
|
||||
@@ -303,7 +303,6 @@ namespace detail
|
||||
)
|
||||
{
|
||||
typedef core_access<BidiIter> access;
|
||||
- typedef typename iterator_value<BidiIter>::type char_type;
|
||||
match_results<BidiIter> &what = *state.context_.results_ptr_;
|
||||
BOOST_ASSERT(0 != re.regex_id());
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff -up ./boost/archive/iterators/transform_width.hpp~ ./boost/archive/iterators/transform_width.hpp
|
||||
--- ./boost/archive/iterators/transform_width.hpp~ 2013-04-28 18:07:27.000000000 +0200
|
||||
+++ ./boost/archive/iterators/transform_width.hpp 2014-05-13 18:08:53.683355277 +0200
|
||||
@@ -119,8 +119,8 @@ public:
|
||||
transform_width(const transform_width & rhs) :
|
||||
super_t(rhs.base_reference()),
|
||||
m_buffer_out_full(rhs.m_buffer_out_full),
|
||||
- m_remaining_bits(rhs.m_remaining_bits),
|
||||
m_buffer_in(rhs.m_buffer_in),
|
||||
+ m_remaining_bits(rhs.m_remaining_bits),
|
||||
m_end_of_sequence(false)
|
||||
{}
|
||||
};
|
|
@ -0,0 +1,31 @@
|
|||
Index: /trunk/boost/graph/dijkstra_shortest_paths.hpp
|
||||
===================================================================
|
||||
--- /trunk/boost/graph/dijkstra_shortest_paths.hpp (revision 85386)
|
||||
+++ /trunk/boost/graph/dijkstra_shortest_paths.hpp (revision 85387)
|
||||
@@ -163,5 +163,5 @@
|
||||
// Test for negative-weight edges:
|
||||
//
|
||||
- // Reasons that simpler comparisons do not work:
|
||||
+ // Reasons that other comparisons do not work:
|
||||
//
|
||||
// m_compare(e_weight, D(0)):
|
||||
@@ -180,14 +180,13 @@
|
||||
// and return a distance.
|
||||
|
||||
- D source_dist = get(m_distance, source(e, g));
|
||||
- W e_weight = get(m_weight, e);
|
||||
+ // W e_weight = get(m_weight, e);
|
||||
// sd_plus_ew = source_dist + e_weight.
|
||||
- D sd_plus_ew = m_combine(source_dist, e_weight);
|
||||
+ // D sd_plus_ew = m_combine(source_dist, e_weight);
|
||||
// sd_plus_2ew = source_dist + 2 * e_weight.
|
||||
- D sd_plus_2ew = m_combine(sd_plus_ew, e_weight);
|
||||
+ // D sd_plus_2ew = m_combine(sd_plus_ew, e_weight);
|
||||
// The test here is equivalent to e_weight < 0 if m_combine has a
|
||||
// cancellation law, but always returns false when m_combine is a
|
||||
- // projection operator or is idempotent.
|
||||
- if (m_compare(sd_plus_2ew, sd_plus_ew))
|
||||
+ // projection operator.
|
||||
+ if (m_compare(m_combine(m_zero, get(m_weight, e)), m_zero))
|
||||
boost::throw_exception(negative_edge());
|
||||
// End of test for negative-weight edges.
|
|
@ -0,0 +1,53 @@
|
|||
Index: /trunk/boost/graph/dijkstra_shortest_paths.hpp
|
||||
===================================================================
|
||||
--- /trunk/boost/graph/dijkstra_shortest_paths.hpp (revision 85348)
|
||||
+++ /trunk/boost/graph/dijkstra_shortest_paths.hpp (revision 85386)
|
||||
@@ -119,4 +119,5 @@
|
||||
{
|
||||
typedef typename property_traits<DistanceMap>::value_type D;
|
||||
+ typedef typename property_traits<WeightMap>::value_type W;
|
||||
|
||||
dijkstra_bfs_visitor(UniformCostVisitor vis, UpdatableQueue& Q,
|
||||
@@ -160,11 +161,38 @@
|
||||
template <class Edge, class Graph>
|
||||
void examine_edge(Edge e, Graph& g) {
|
||||
- // Comparison needs to be more complicated because distance and weight
|
||||
- // types may not be the same; see bug 8398
|
||||
- // (https://svn.boost.org/trac/boost/ticket/8398)
|
||||
+ // Test for negative-weight edges:
|
||||
+ //
|
||||
+ // Reasons that simpler comparisons do not work:
|
||||
+ //
|
||||
+ // m_compare(e_weight, D(0)):
|
||||
+ // m_compare only needs to work on distances, not weights, and those
|
||||
+ // types do not need to be the same (bug 8398,
|
||||
+ // https://svn.boost.org/trac/boost/ticket/8398).
|
||||
+ // m_compare(m_combine(source_dist, e_weight), source_dist):
|
||||
+ // if m_combine is project2nd (as in prim_minimum_spanning_tree),
|
||||
+ // this test will claim that the edge weight is negative whenever
|
||||
+ // the edge weight is less than source_dist, even if both of those
|
||||
+ // are positive (bug 9012,
|
||||
+ // https://svn.boost.org/trac/boost/ticket/9012).
|
||||
+ // m_compare(m_combine(e_weight, source_dist), source_dist):
|
||||
+ // would fix project2nd issue, but documentation only requires that
|
||||
+ // m_combine be able to take a distance and a weight (in that order)
|
||||
+ // and return a distance.
|
||||
+
|
||||
D source_dist = get(m_distance, source(e, g));
|
||||
- if (m_compare(m_combine(source_dist, get(m_weight, e)), source_dist))
|
||||
+ W e_weight = get(m_weight, e);
|
||||
+ // sd_plus_ew = source_dist + e_weight.
|
||||
+ D sd_plus_ew = m_combine(source_dist, e_weight);
|
||||
+ // sd_plus_2ew = source_dist + 2 * e_weight.
|
||||
+ D sd_plus_2ew = m_combine(sd_plus_ew, e_weight);
|
||||
+ // The test here is equivalent to e_weight < 0 if m_combine has a
|
||||
+ // cancellation law, but always returns false when m_combine is a
|
||||
+ // projection operator or is idempotent.
|
||||
+ if (m_compare(sd_plus_2ew, sd_plus_ew))
|
||||
boost::throw_exception(negative_edge());
|
||||
+ // End of test for negative-weight edges.
|
||||
+
|
||||
m_vis.examine_edge(e, g);
|
||||
+
|
||||
}
|
||||
template <class Edge, class Graph>
|
|
@ -1,14 +0,0 @@
|
|||
diff -up boost_1_55_0/boost/program_options/variables_map.hpp\~ boost_1_55_0/boost/program_options/variables_map.hpp
|
||||
--- boost_1_55_0/boost/program_options/variables_map.hpp~ 2012-04-08 12:02:26.000000000 +0200
|
||||
+++ boost_1_55_0/boost/program_options/variables_map.hpp 2014-05-13 17:49:18.219749093 +0200
|
||||
@@ -98,7 +98,7 @@ namespace boost { namespace program_opti
|
||||
void store(const basic_parsed_options<char>& options,
|
||||
variables_map& m, bool);
|
||||
|
||||
- friend BOOST_PROGRAM_OPTIONS_DECL class variables_map;
|
||||
+ friend class BOOST_PROGRAM_OPTIONS_DECL variables_map;
|
||||
};
|
||||
|
||||
/** Implements string->string mapping with convenient value casting
|
||||
|
||||
Diff finished. Tue May 13 17:49:22 2014
|
|
@ -0,0 +1,62 @@
|
|||
--- boost_1_55_0/tools/build/v2/tools/python.jam 2013-05-21 06:14:18.000000000 +0200
|
||||
+++ boost_1_55_0/tools/build/v2/tools/python.jam 2014-05-29 19:09:12.115413877 +0200
|
||||
@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti
|
||||
# using python : 2.3 : /usr/local/bin/python ;
|
||||
#
|
||||
rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
|
||||
- : condition * : extension-suffix ? )
|
||||
+ : condition * : extension-suffix ? : abi-letters ? )
|
||||
{
|
||||
project.push-current $(.project) ;
|
||||
|
||||
@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ?
|
||||
}
|
||||
}
|
||||
|
||||
- configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ;
|
||||
+ configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) : $(abi-letters) ;
|
||||
|
||||
project.pop-current ;
|
||||
}
|
||||
@@ -653,7 +653,7 @@ local rule system-library-dependencies (
|
||||
|
||||
# Declare a target to represent Python's library.
|
||||
#
|
||||
-local rule declare-libpython-target ( version ? : requirements * )
|
||||
+local rule declare-libpython-target ( version ? : requirements * : abi-letters ? )
|
||||
{
|
||||
# Compute the representation of Python version in the name of Python's
|
||||
# library file.
|
||||
@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve
|
||||
}
|
||||
|
||||
# Declare it.
|
||||
- lib python.lib : : <name>python$(lib-version) $(requirements) ;
|
||||
+ lib python.lib : : <name>python$(lib-version)$(abi-letters) $(requirements) ;
|
||||
}
|
||||
|
||||
|
||||
# Implementation of init.
|
||||
local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
|
||||
- condition * : extension-suffix ? )
|
||||
+ condition * : extension-suffix ? : abi-letters ? )
|
||||
{
|
||||
local prefix ;
|
||||
local exec-prefix ;
|
||||
@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o
|
||||
extension-suffix ?= _d ;
|
||||
}
|
||||
extension-suffix ?= "" ;
|
||||
+ abi-letters ?= "" ;
|
||||
|
||||
# Normalize and dissect any version number.
|
||||
local major-minor ;
|
||||
@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o
|
||||
}
|
||||
else
|
||||
{
|
||||
- declare-libpython-target $(version) : $(target-requirements) ;
|
||||
+ declare-libpython-target $(version) : $(target-requirements) : $(abi-letters) ;
|
||||
|
||||
# This is an evil hack. On, Windows, when Python is embedded, nothing
|
||||
# seems to set up sys.path to include Python's standard library
|
|
@ -0,0 +1,13 @@
|
|||
Index: boost/tools/build/v2/tools/python.jam
|
||||
===================================================================
|
||||
--- boost/tools/build/v2/tools/python.jam (revision 50406)
|
||||
+++ boost/tools/build/v2/tools/python.jam (working copy)
|
||||
@@ -994,7 +994,7 @@
|
||||
else
|
||||
{
|
||||
alias python_for_extensions
|
||||
- :
|
||||
+ : python
|
||||
: $(target-requirements)
|
||||
:
|
||||
: $(usage-requirements)
|
|
@ -0,0 +1,98 @@
|
|||
diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/exec.cpp
|
||||
--- boost_1_55_0/libs/python/test/exec.cpp~ 2010-07-05 00:38:38.000000000 +0200
|
||||
+++ boost_1_55_0/libs/python/test/exec.cpp 2015-01-09 21:31:12.903218280 +0100
|
||||
@@ -56,6 +56,20 @@ void eval_test()
|
||||
BOOST_TEST(value == "ABCDEFG");
|
||||
}
|
||||
|
||||
+struct PyCtx
|
||||
+{
|
||||
+ PyCtx() {
|
||||
+ Py_Initialize();
|
||||
+ }
|
||||
+
|
||||
+ ~PyCtx() {
|
||||
+ // N.B. certain problems may arise when Py_Finalize is called when
|
||||
+ // using Boost.Python. However in this test suite it all seems to
|
||||
+ // work fine.
|
||||
+ Py_Finalize();
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
void exec_test()
|
||||
{
|
||||
// Register the module with the interpreter
|
||||
@@ -68,6 +82,8 @@ void exec_test()
|
||||
) == -1)
|
||||
throw std::runtime_error("Failed to add embedded_hello to the interpreter's "
|
||||
"builtin modules");
|
||||
+
|
||||
+ PyCtx ctx;
|
||||
// Retrieve the main module
|
||||
python::object main = python::import("__main__");
|
||||
|
||||
@@ -148,41 +164,43 @@ void check_pyerr(bool pyerr_expected=fal
|
||||
}
|
||||
}
|
||||
|
||||
+template <class Cb>
|
||||
+bool
|
||||
+run_and_handle_exception(Cb cb, bool pyerr_expected = false)
|
||||
+{
|
||||
+ PyCtx ctx;
|
||||
+ if (python::handle_exception(cb)) {
|
||||
+ check_pyerr(pyerr_expected);
|
||||
+ return true;
|
||||
+ } else {
|
||||
+ return false;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
BOOST_TEST(argc == 2 || argc == 3);
|
||||
std::string script = argv[1];
|
||||
- // Initialize the interpreter
|
||||
- Py_Initialize();
|
||||
|
||||
- if (python::handle_exception(eval_test)) {
|
||||
- check_pyerr();
|
||||
- }
|
||||
- else if(python::handle_exception(exec_test)) {
|
||||
- check_pyerr();
|
||||
- }
|
||||
- else if (python::handle_exception(boost::bind(exec_file_test, script))) {
|
||||
+ // N.B. exec_test mustn't be called through run_and_handle_exception
|
||||
+ // as it needs to handles the python context by itself.
|
||||
+ if (run_and_handle_exception(eval_test)
|
||||
+ || python::handle_exception(exec_test))
|
||||
check_pyerr();
|
||||
- }
|
||||
-
|
||||
- if (python::handle_exception(exec_test_error))
|
||||
- {
|
||||
- check_pyerr(/*pyerr_expected*/ true);
|
||||
- }
|
||||
else
|
||||
- {
|
||||
+ run_and_handle_exception(boost::bind(exec_file_test, script));
|
||||
+
|
||||
+ if (!run_and_handle_exception(exec_test_error, true))
|
||||
BOOST_ERROR("Python exception expected, but not seen.");
|
||||
- }
|
||||
|
||||
if (argc > 2) {
|
||||
+ PyCtx ctx;
|
||||
// The main purpose is to test compilation. Since this test generates
|
||||
// a file and I (rwgk) am uncertain about the side-effects, run it only
|
||||
// if explicitly requested.
|
||||
exercise_embedding_html();
|
||||
}
|
||||
|
||||
- // Boost.Python doesn't support Py_Finalize yet.
|
||||
- // Py_Finalize();
|
||||
return boost::report_errors();
|
||||
}
|
||||
|
||||
|
||||
Diff finished. Fri Jan 9 21:31:13 2015
|
|
@ -1,15 +0,0 @@
|
|||
diff -up boost_1_55_0/boost/spirit/home/support/char_set/range_run_impl.hpp\~ boost_1_55_0/boost/spirit/home/support/char_set/range_run_impl.hpp
|
||||
--- boost_1_55_0/boost/spirit/home/support/char_set/range_run_impl.hpp~ 2011-01-13 03:11:19.000000000 +0100
|
||||
+++ boost_1_55_0/boost/spirit/home/support/char_set/range_run_impl.hpp 2014-05-15 18:09:07.326237692 +0200
|
||||
@@ -25,9 +25,6 @@ namespace boost { namespace spirit { nam
|
||||
// if *iter intersects with, or is adjacent to, 'range'...
|
||||
if (can_merge(*iter, range))
|
||||
{
|
||||
- typedef typename Range::value_type value_type;
|
||||
- typedef integer_traits<value_type> integer_traits;
|
||||
-
|
||||
// merge range and *iter
|
||||
merge(*iter, range);
|
||||
|
||||
|
||||
Diff finished. Thu May 15 18:09:11 2014
|
|
@ -1,11 +0,0 @@
|
|||
diff -up ./boost/xpressive/detail/dynamic/parser.hpp~ ./boost/xpressive/detail/dynamic/parser.hpp
|
||||
--- ./boost/xpressive/detail/dynamic/parser.hpp~ 2009-09-23 23:53:53.000000000 +0200
|
||||
+++ ./boost/xpressive/detail/dynamic/parser.hpp 2014-05-13 17:15:47.263001855 +0200
|
||||
@@ -328,7 +328,6 @@ inline sequence<BidiIter> make_assert_en
|
||||
template<typename BidiIter, typename Cond, typename Traits>
|
||||
inline sequence<BidiIter> make_assert_word(Cond, Traits const &tr)
|
||||
{
|
||||
- typedef typename iterator_value<BidiIter>::type char_type;
|
||||
return detail::make_dynamic<BidiIter>
|
||||
(
|
||||
detail::assert_word_matcher<Cond, Traits>(tr)
|
198
boost.spec
198
boost.spec
|
@ -7,20 +7,20 @@
|
|||
%define boost_docdir __tmp_docdir
|
||||
%define boost_examplesdir __tmp_examplesdir
|
||||
|
||||
%ifarch ppc64le
|
||||
%ifarch aarch64
|
||||
%bcond_with mpich
|
||||
%else
|
||||
%bcond_without mpich
|
||||
%endif
|
||||
|
||||
%ifarch s390 s390x ppc64le
|
||||
%ifarch s390 s390x aarch64
|
||||
# No OpenMPI support on these arches
|
||||
%bcond_with openmpi
|
||||
%else
|
||||
%bcond_without openmpi
|
||||
%endif
|
||||
|
||||
%ifnarch %{ix86} x86_64 %{arm}
|
||||
%ifnarch %{ix86} x86_64
|
||||
# Avoid using Boost.Context on non-x86 arches. s390 is not
|
||||
# supported at all and there were _syntax errors_ in PPC code. This
|
||||
# should be enabled on a case-by-case basis as the arches are tested
|
||||
|
@ -34,9 +34,9 @@
|
|||
|
||||
Name: boost
|
||||
Summary: The free peer-reviewed portable C++ source libraries
|
||||
Version: 1.55.0
|
||||
%define version_enc 1_55_0
|
||||
Release: 4%{?dist}
|
||||
Version: 1.54.0
|
||||
%define version_enc 1_54_0
|
||||
Release: 12%{?dist}
|
||||
License: Boost and MIT and Python
|
||||
|
||||
%define toplev_dirname %{name}_%{version_enc}
|
||||
|
@ -59,7 +59,6 @@ Requires: boost-atomic = %{version}-%{release}
|
|||
Requires: boost-chrono = %{version}-%{release}
|
||||
%if %{with context}
|
||||
Requires: boost-context = %{version}-%{release}
|
||||
Requires: boost-coroutine = %{version}-%{release}
|
||||
%endif
|
||||
Requires: boost-date-time = %{version}-%{release}
|
||||
Requires: boost-filesystem = %{version}-%{release}
|
||||
|
@ -97,10 +96,29 @@ Patch4: boost-1.50.0-fix-non-utf8-files.patch
|
|||
# http://www.boost.org/boost-build2/doc/html/bbv2/overview.html
|
||||
Patch5: boost-1.48.0-add-bjam-man-page.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=781859
|
||||
# The following tickets have yet to be fixed by upstream.
|
||||
# https://svn.boost.org/trac/boost/ticket/6413
|
||||
# https://svn.boost.org/trac/boost/ticket/8849
|
||||
Patch9: boost-1.53.0-attribute.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=828856
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=828857
|
||||
Patch15: boost-1.50.0-pool.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=977098
|
||||
# https://svn.boost.org/trac/boost/ticket/8731
|
||||
Patch18: boost-1.54.0-__GLIBC_HAVE_LONG_LONG.patch
|
||||
|
||||
# Upstream patches posted as release notes:
|
||||
# http://www.boost.org/users/history/version_1_54_0.html
|
||||
Patch19: 001-coroutine.patch
|
||||
Patch20: 002-date-time.patch
|
||||
Patch21: 003-log.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8826
|
||||
Patch22: boost-1.54.0-context-execstack.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8844
|
||||
Patch23: boost-1.54.0-bind-static_assert.patch
|
||||
|
||||
|
@ -113,6 +131,10 @@ Patch25: boost-1.54.0-mpl-print.patch
|
|||
# https://svn.boost.org/trac/boost/ticket/8859
|
||||
Patch26: boost-1.54.0-static_warning-unused_typedef.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8855
|
||||
Patch27: boost-1.54.0-math-unused_typedef.patch
|
||||
Patch28: boost-1.54.0-math-unused_typedef-2.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8853
|
||||
Patch31: boost-1.54.0-tuple-unused_typedef.patch
|
||||
|
||||
|
@ -130,32 +152,63 @@ Patch36: boost-1.54.0-spirit-unused_typedef-2.patch
|
|||
# https://svn.boost.org/trac/boost/ticket/8871
|
||||
Patch37: boost-1.54.0-numeric-unused_typedef.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8872
|
||||
Patch38: boost-1.54.0-multiprecision-unused_typedef.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8874
|
||||
Patch42: boost-1.54.0-unordered-unused_typedef.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8876
|
||||
Patch43: boost-1.54.0-algorithm-unused_typedef.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8877
|
||||
Patch44: boost-1.54.0-graph-unused_typedef.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8878
|
||||
Patch45: boost-1.54.0-locale-unused_typedef.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8879
|
||||
Patch46: boost-1.54.0-property_tree-unused_typedef.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8880
|
||||
Patch47: boost-1.54.0-xpressive-unused_typedef.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8881
|
||||
Patch48: boost-1.54.0-mpi-unused_typedef.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8888
|
||||
Patch49: boost-1.54.0-python-unused_typedef.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8941
|
||||
Patch50: boost-1.54.0-lexical_cast-int128.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/9038
|
||||
Patch51: boost-1.54.0-pool-test_linking.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/9037
|
||||
Patch52: boost-1.54.0-thread-cond_variable_shadow.patch
|
||||
|
||||
# This was already fixed upstream, so no tracking bug.
|
||||
Patch53: boost-1.54.0-pool-max_chunks_shadow.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/8725
|
||||
Patch54: boost-1.55.0-program_options-class_attribute.patch
|
||||
# https://svn.boost.org/trac/boost/ticket/9041
|
||||
Patch54: boost-1.54.0-thread-link_atomic.patch
|
||||
|
||||
# Fixed upstream on Oct 4 00:26:49 2013.
|
||||
Patch55: boost-1.55.0-archive-init_order.patch
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1002578
|
||||
# https://svn.boost.org/trac/boost/ticket/9065
|
||||
Patch55: boost-1.54.0-interprocess-atomic_cas32-ppc.patch
|
||||
|
||||
# https://github.com/boostorg/xpressive/pull/1
|
||||
Patch56: boost-1.55.0-xpressive-unused_typedefs.patch
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1159960
|
||||
Patch56: boost-1.54.0-smart_ptr-shared_ptr_at.patch
|
||||
|
||||
# Fixed upstream on Aug 20 05:11:14 2013.
|
||||
Patch57: boost-1.55.0-spirit-unused_typedefs.patch
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1115124
|
||||
Patch57: boost-1.55.0-graph-dijkstra_shortest_paths.patch
|
||||
Patch58: boost-1.55.0-graph-dijkstra_shortest_paths-2.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1102667
|
||||
Patch61: boost-1.55.0-python-libpython_dep.patch
|
||||
Patch62: boost-1.55.0-python-abi_letters.patch
|
||||
Patch63: boost-1.55.0-python-test-PyImport_AppendInittab.patch
|
||||
|
||||
%bcond_with tests
|
||||
%bcond_with docs_generated
|
||||
|
@ -199,16 +252,6 @@ Group: System Environment/Libraries
|
|||
|
||||
Run-Time support for Boost.Context, a foundational library that
|
||||
provides a sort of cooperative multitasking on a single thread.
|
||||
|
||||
%package coroutine
|
||||
Summary: Run-Time component of boost coroutine library
|
||||
Group: System Environment/Libraries
|
||||
|
||||
%description coroutine
|
||||
Run-Time support for Boost.Coroutine, a library that provides
|
||||
generalized subroutines which allow multiple entry points for
|
||||
suspending and resuming execution.
|
||||
|
||||
%endif
|
||||
|
||||
%package date-time
|
||||
|
@ -622,11 +665,19 @@ a number of significant features and is now developed independently
|
|||
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch9 -p1
|
||||
%patch15 -p0
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
%patch24 -p1
|
||||
%patch25 -p0
|
||||
%patch26 -p1
|
||||
%patch27 -p1
|
||||
%patch28 -p0
|
||||
%patch31 -p0
|
||||
%patch32 -p0
|
||||
%patch33 -p0
|
||||
|
@ -634,15 +685,27 @@ a number of significant features and is now developed independently
|
|||
%patch35 -p1
|
||||
%patch36 -p1
|
||||
%patch37 -p1
|
||||
%patch38 -p1
|
||||
%patch42 -p1
|
||||
%patch43 -p1
|
||||
%patch44 -p1
|
||||
%patch45 -p1
|
||||
%patch46 -p1
|
||||
%patch47 -p1
|
||||
%patch48 -p1
|
||||
%patch49 -p1
|
||||
%patch50 -p0
|
||||
%patch51 -p1
|
||||
%patch52 -p1
|
||||
%patch53 -p1
|
||||
%patch54 -p1
|
||||
%patch55 -p1
|
||||
%patch56 -p1
|
||||
%patch57 -p1
|
||||
%patch57 -p2
|
||||
%patch58 -p2
|
||||
%patch61 -p1
|
||||
%patch62 -p1
|
||||
%patch63 -p1
|
||||
|
||||
# At least python2_version needs to be a macro so that it's visible in
|
||||
# %%install as well.
|
||||
|
@ -663,11 +726,13 @@ cat >> ./tools/build/v2/user-config.jam << EOF
|
|||
# There are many strict aliasing warnings, and it's not feasible to go
|
||||
# through them all at this time.
|
||||
using gcc : : : <compileflags>-fno-strict-aliasing ;
|
||||
%if %{with openmpi} || %{with mpich}
|
||||
using mpi ;
|
||||
%endif
|
||||
%if %{with python3}
|
||||
# This _adds_ extra python version. It doesn't replace whatever
|
||||
# python 2.X is default on the system.
|
||||
using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{python3_version}%{python3_abiflags} ;
|
||||
using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{python3_version}%{python3_abiflags} : : : : %{python3_abiflags} ;
|
||||
%endif
|
||||
EOF
|
||||
|
||||
|
@ -849,6 +914,7 @@ rm -f tmp-doc-directories
|
|||
echo ============================= install examples ==================
|
||||
# Fix a few non-standard issues (DOS and/or non-UTF8 files)
|
||||
sed -i -e 's/\r//g' libs/geometry/example/ml02_distance_strategy.cpp
|
||||
sed -i -e 's/\r//g' libs/geometry/example/ml02_distance_strategy.vcproj
|
||||
for tmp_doc_file in flyweight/example/Jamfile.v2 \
|
||||
format/example/sample_new_features.cpp multi_index/example/Jamfile.v2 \
|
||||
multi_index/example/hashed.cpp serialization/example/demo_output.txt \
|
||||
|
@ -907,10 +973,6 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%post context -p /sbin/ldconfig
|
||||
|
||||
%postun context -p /sbin/ldconfig
|
||||
|
||||
%post coroutine -p /sbin/ldconfig
|
||||
|
||||
%postun coroutine -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
%post date-time -p /sbin/ldconfig
|
||||
|
@ -1002,17 +1064,10 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%{_libdir}/libboost_chrono.so.%{sonamever}
|
||||
|
||||
%if %{with context}
|
||||
|
||||
%files context
|
||||
%defattr(-, root, root, -)
|
||||
%doc LICENSE_1_0.txt
|
||||
%{_libdir}/libboost_context.so.%{sonamever}
|
||||
|
||||
%files coroutine
|
||||
%defattr(-, root, root, -)
|
||||
%doc LICENSE_1_0.txt
|
||||
%{_libdir}/libboost_coroutine.so.%{sonamever}
|
||||
|
||||
%endif
|
||||
|
||||
%files date-time
|
||||
|
@ -1141,7 +1196,6 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%{_libdir}/libboost_chrono.so
|
||||
%if %{with context}
|
||||
%{_libdir}/libboost_context.so
|
||||
%{_libdir}/libboost_coroutine.so
|
||||
%endif
|
||||
%{_libdir}/libboost_date_time.so
|
||||
%{_libdir}/libboost_filesystem.so
|
||||
|
@ -1245,58 +1299,24 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%{_mandir}/man1/bjam.1*
|
||||
|
||||
%changelog
|
||||
* Tue Aug 26 2014 David Tardon <dtardon@redhat.com> - 1.55.0-4
|
||||
- rebuild for ICU 53.1
|
||||
* Wed Jan 14 2015 Petr Machata <pmachata@redhat.com> - 1.54.0-12
|
||||
- Build libboost_python and libboost_python3 such that they depend on
|
||||
their respective libpython's.
|
||||
(boost-1.55.0-python-libpython_dep.patch,
|
||||
boost-1.55.0-python-abi_letters.patch)
|
||||
- Fix Boost.Python test suite so that PyImport_AppendInittab is called
|
||||
before PyInitialize, which broke the test suite with Python 3.
|
||||
(boost-1.55.0-python-test-PyImport_AppendInittab.patch)
|
||||
|
||||
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.55.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
* Tue Jan 13 2015 Petr Machata <pmachata@redhat.com> - 1.54.0-11
|
||||
- Apply upstream fix for dijkstra_bfs_visitor from Boost.Graph to not
|
||||
misinterpret edge weights.
|
||||
(boost-1.55.0-graph-dijkstra_shortest_paths.patch,
|
||||
boost-1.55.0-graph-dijkstra_shortest_paths-2.patch)
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.55.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Mon May 12 2014 Petr Machata <pmachata@redhat.com> - 1.55.0-1
|
||||
- Add a new sub-package boost-coroutine
|
||||
- Annotate or drop some unused typedefs
|
||||
(boost-1.55.0-python-unused_typedefs.patch,
|
||||
boost-1.55.0-spirit-unused_typedefs.patch,
|
||||
boost-1.55.0-xpressive-unused_typedefs.patch)
|
||||
- Add a patch for wrong initialization order
|
||||
(boost-1.55.0-archive-init_order.patch)
|
||||
- Add a patch for misplaced attribute at class declaration
|
||||
(boost-1.55.0-program_options-class_attribute.patch)
|
||||
- Drop 001-coroutine.patch, 002-date-time.patch, 003-log.patch,
|
||||
boost-1.53.0-attribute.patch,
|
||||
boost-1.54.0-__GLIBC_HAVE_LONG_LONG.patch,
|
||||
boost-1.54.0-algorithm-unused_typedef.patch,
|
||||
boost-1.54.0-context-execstack.patch,
|
||||
boost-1.54.0-graph-unused_typedef.patch,
|
||||
boost-1.54.0-interprocess-atomic_cas32-ppc.patch,
|
||||
boost-1.54.0-lexical_cast-int128.patch,
|
||||
boost-1.54.0-math-unused_typedef-2.patch,
|
||||
boost-1.54.0-math-unused_typedef.patch,
|
||||
boost-1.54.0-mpi-unused_typedef.patch,
|
||||
boost-1.54.0-multiprecision-unused_typedef.patch,
|
||||
boost-1.54.0-thread-cond_variable_shadow.patch,
|
||||
boost-1.54.0-thread-link_atomic.patch,
|
||||
boost-1.54.0-unordered-unused_typedef.patch,
|
||||
boost-1.54.0-xpressive-unused_typedef.patch,
|
||||
|
||||
* Tue Mar 18 2014 Petr Machata <pmachata@redhat.com> - 1.54.0-14
|
||||
- Fix a noexecstack patch for ARM, enable Boost.Context on ARM.
|
||||
(boost-1.54.0-context-execstack.patch)
|
||||
|
||||
* Tue Mar 18 2014 Björn Esser <bjoern.esser@gmail.com> - 1.54.0-13
|
||||
- rebuilt for mpich-3.1
|
||||
|
||||
* Mon Mar 17 2014 Peter Robinson <pbrobinson@fedoraproject.org> 1.54.0-12
|
||||
- Enable MPICH and OpenMPI support on aarch64
|
||||
|
||||
* Wed Feb 12 2014 Petr Machata <pmachata@redhat.com> - 1.54.0-11
|
||||
- Rebuild for ICU soname bump.
|
||||
|
||||
* Thu Jan 9 2014 Petr Machata <pmachata@redhat.com> - 1.54.0-10
|
||||
- Add ppc64le to the list of arches that OpenMPI and MPICH don't
|
||||
support.
|
||||
* Wed Nov 12 2014 Petr Machata <pmachata@redhat.com> - 1.54.0-10
|
||||
- Fix boost::shared_ptr<T>::operator[], which was ill-formed for
|
||||
non-array T's. (boost-1.54.0-smart_ptr-shared_ptr_at.patch)
|
||||
|
||||
* Wed Dec 18 2013 Peter Robinson <pbrobinson@fedoraproject.org> 1.54.0-9
|
||||
- Enable MPICH and OpenMPI support on ARM as it's long had them both
|
||||
|
|
Loading…
Reference in New Issue