Compare commits
103 Commits
openEuler-
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 97f663b2f1 | |||
| 7ab099b038 | |||
| 628d6d01ff | |||
| 75b1b31899 | |||
| 4e4d0bf4c9 | |||
| 325fb30677 | |||
| 1f884eab07 | |||
| 09e37527f3 | |||
| 77c516cc82 | |||
| 5a748d0e5c | |||
| 43777c8c09 | |||
| bd10b67d19 | |||
| e14e032cab | |||
|
|
b98d772597 | ||
|
|
d6d0cd080d | ||
|
|
dcf73bd889 | ||
|
|
ae9cfff951 | ||
|
|
d1a0697992 | ||
|
|
d2bd4bf112 | ||
|
|
9669d89ea9 | ||
|
|
709fb6eab8 | ||
|
|
f52746cf82 | ||
|
|
9702ed2cbc | ||
|
|
6708c7defd | ||
|
|
a106f38f05 | ||
|
|
f7a2fdf0b6 | ||
|
|
91e1d35a18 | ||
|
|
70cc0c2535 | ||
|
|
862e32b82a | ||
|
|
f4abb68c29 | ||
|
|
73e2ba2859 | ||
|
|
86c2ce4ce7 | ||
|
|
926fb61aa3 | ||
|
|
89bbd67d04 | ||
|
|
565bcbca70 | ||
|
|
cb9eb41e80 | ||
|
|
a164b1004d | ||
|
|
c9ece7451c | ||
|
|
056ebd32d7 | ||
|
|
f62334130e | ||
|
|
77ff096f78 | ||
|
|
311efb0abd | ||
|
|
558f985194 | ||
|
|
63a89127af | ||
|
|
8ab4fe722e | ||
|
|
70c2a6f02c | ||
|
|
882b9eaa42 | ||
|
|
b23355954b | ||
|
|
4d319ba332 | ||
|
|
d2ce0849c0 | ||
|
|
be910a9082 | ||
|
|
397010b3ac | ||
|
|
0ecd5e495a | ||
|
|
a5508c0d5d | ||
|
|
57c7f97839 | ||
|
|
f9fa8bee1e | ||
|
|
9980260d15 | ||
|
|
143e4339fc | ||
|
|
592e82c856 | ||
|
|
59f3e1a8c2 | ||
|
|
2091d3484b | ||
|
|
80c893fd44 | ||
|
|
36ed8a7d22 | ||
|
|
a4e325ad1a | ||
|
|
c78c7d6df8 | ||
|
|
5a73e77234 | ||
|
|
947b4a914a | ||
|
|
7602004a45 | ||
|
|
ea1d727a50 | ||
|
|
3c2c4bff8e | ||
|
|
61a7253e25 | ||
|
|
27c6502f39 | ||
|
|
8238f0a4e9 | ||
|
|
07e8fed948 | ||
|
|
45229ddd0d | ||
|
|
3e70aae998 | ||
|
|
df3719a411 | ||
|
|
78e2b243bc | ||
|
|
5e9f0dc447 | ||
|
|
f87b8a715a | ||
|
|
d79bed3aa2 | ||
|
|
b97a756b06 | ||
|
|
e8e3062df4 | ||
|
|
d87743f78a | ||
|
|
24c323dc58 | ||
|
|
f6b4fec326 | ||
|
|
154d23f340 | ||
|
|
5bdc1e0ae4 | ||
|
|
52037bf742 | ||
|
|
a1aa1bb2fc | ||
|
|
db2076c009 | ||
|
|
300d0b9ea4 | ||
|
|
bded98572c | ||
|
|
c97cdd5a38 | ||
|
|
8d9160d82c | ||
|
|
eb2dd47871 | ||
|
|
5c186eb07b | ||
|
|
754e4ec068 | ||
|
|
c1c143ad58 | ||
|
|
c4ad53a26c | ||
|
|
f3defff14a | ||
|
|
476d71fe46 | ||
|
|
866df81c87 |
@ -1,150 +0,0 @@
|
||||
diff --git a/tools/build/v2/doc/bjam.1 b/tools/build/v2/doc/bjam.1
|
||||
new file mode 100644
|
||||
index 0000000..8a44af6
|
||||
--- /dev/null
|
||||
+++ b/tools/build/v2/doc/bjam.1
|
||||
@@ -0,0 +1,144 @@
|
||||
+.TH "bjam" 1 "Sat Nov 19 2011" "Doxygen" \" -*- nroff -*-
|
||||
+.ad l
|
||||
+.nh
|
||||
+.SH NAME
|
||||
+bjam \- Command-line utility to build Boost-related C++ projects with Boost\&.Build
|
||||
+.SH "SYNOPSIS"
|
||||
+.PP
|
||||
+\fBbjam\fP \fC[-a] [-dx] [-fx] [-jx] [-lx] [-n] [-ox] [-px] [-q] [-sx=y] [-tx] [-v] [--x]\fP
|
||||
+.PP
|
||||
+\fIbjam\fP accepts the following options:
|
||||
+.PP
|
||||
+\fB-a\fP
|
||||
+.br
|
||||
+ Build all targets, even if they are current
|
||||
+.PP
|
||||
+\fB-dx\fP
|
||||
+.br
|
||||
+ Set the debug level to x (0-9)
|
||||
+.PP
|
||||
+\fB-fx\fP
|
||||
+.br
|
||||
+ Read x instead of Jambase
|
||||
+.PP
|
||||
+\fB-jx\fP
|
||||
+.br
|
||||
+ Run up to x shell commands concurrently
|
||||
+.PP
|
||||
+\fB-lx\fP
|
||||
+.br
|
||||
+ Limit actions to x number of seconds after which they are stopped
|
||||
+.PP
|
||||
+\fB-n\fP
|
||||
+.br
|
||||
+ Don't actually execute the updating actions
|
||||
+.PP
|
||||
+\fB-ox\fP
|
||||
+.br
|
||||
+ Write the updating actions to file x
|
||||
+.PP
|
||||
+\fB-px\fP
|
||||
+.br
|
||||
+ x=0, pipes action stdout and stderr merged into action output
|
||||
+.PP
|
||||
+\fB-q\fP
|
||||
+.br
|
||||
+ Quit quickly as soon as a target fails
|
||||
+.PP
|
||||
+\fB-sx=y\fP
|
||||
+.br
|
||||
+ Set variable x=y, overriding environment
|
||||
+.PP
|
||||
+\fB-tx\fP
|
||||
+.br
|
||||
+ Rebuild x, even if it is up-to-date
|
||||
+.PP
|
||||
+\fB-v\fP
|
||||
+.br
|
||||
+ Print the version of jam and exit
|
||||
+.PP
|
||||
+\fB--x\fP
|
||||
+.br
|
||||
+ Option is ignored
|
||||
+.SH "DESCRIPTION"
|
||||
+.PP
|
||||
+This section provides the information necessary to create your own projects using \fIBoost\&.Build\fP The information provided here is relatively high-level, and Chapter 6, Reference as well as the on-line help system must be used to obtain low-level documentation (see --help)
|
||||
+.PP
|
||||
+\fIBoost\&.Build\fP actually consists of two parts - \fIBoost\&.Jam\fP, a build engine with its own interpreted language, and \fIBoost\&.Build\fP itself, implemented in \fIBoost\&.Jam's\fP language\&. The chain of events when you type bjam on the command line is as follows:
|
||||
+.IP "\(bu" 2
|
||||
+\fIBoost\&.Jam\fP tries to find \fIBoost\&.Build\fP and loads the top-level module\&. The exact process is described in the section called “Initialization”
|
||||
+.PP
|
||||
+.PP
|
||||
+.IP "\(bu" 2
|
||||
+The top-level module loads user-defined configuration files, \fIuser-config\&.jam\fP and \fIsite-config\&.jam\fP, which define available toolsets
|
||||
+.PP
|
||||
+.PP
|
||||
+.IP "\(bu" 2
|
||||
+The \fIJamfile\fP in the current directory is read That in turn might cause reading of further Jamfiles\&. As a result, a tree of projects is created, with targets inside projects
|
||||
+.PP
|
||||
+.PP
|
||||
+.IP "\(bu" 2
|
||||
+Finally, using the build request specified on the command line, \fIBoost\&.Build\fP decides which targets should be built and how\&. That information is passed back to \fIBoost\&.Jam\fP, which takes care of actually running the scheduled build action commands
|
||||
+.PP
|
||||
+.PP
|
||||
+So, to be able to successfully use \fIBoost\&.Build\fP, you need to know only four things:
|
||||
+.IP "\(bu" 2
|
||||
+How to configure \fIBoost\&.Build\fP (http://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html)
|
||||
+.IP "\(bu" 2
|
||||
+How to declare targets in Jamfiles (http://www.boost.org/boost-build2/doc/html/bbv2/overview/targets.html)
|
||||
+.IP "\(bu" 2
|
||||
+How the build process works (http://www.boost.org/boost-build2/doc/html/bbv2/overview/build_process.html)
|
||||
+.PP
|
||||
+.PP
|
||||
+Some Basics about the \fIBoost\&.Jam\fP language\&. See the section called “Boost\&.Jam Language” (http://www.boost.org/boost-build2/doc/html/bbv2/overview/jam_language.html)
|
||||
+.SH "CONCEPTS"
|
||||
+.PP
|
||||
+\fIBoost\&.Build\fP has a few unique concepts that are introduced in this section\&. The best way to explain the concepts is by comparison with more classical build tools
|
||||
+.PP
|
||||
+When using any flavour of make, you directly specify targets and commands that are used to create them from other target\&. The below example creates a\&.o from a\&.c using a hardcoded compiler invocation command
|
||||
+.PP
|
||||
+a\&.o: a\&.c
|
||||
+.br
|
||||
+ g++ -o a\&.o -g a\&.c
|
||||
+.PP
|
||||
+This is rather low-level description mechanism and it is hard to adjust commands, options, and sets of created targets depending on the used compiler and operating system\&.
|
||||
+.PP
|
||||
+To improve portability, most modern build system provide a set of higher-level functions that can be used in build description files\&. Consider this example:
|
||||
+.PP
|
||||
+add_program ('a', 'a\&.c')
|
||||
+.br
|
||||
+.PP
|
||||
+This is a function call that creates targets necessary to create executable file from source file a\&.c\&. Depending on configured properties, different commands line may be used\&. However, \fIadd_program\fP is higher-level, but rather thin level All targets are created immediately when build description is parsed, which makes it impossible to perform multi-variant builds\&. Often, change in any build property requires complete reconfiguration of the build tree
|
||||
+.PP
|
||||
+In order to support true multivariant builds, Boost\&.Build introduces the concept of metatarget—object that is created when build description is parsed and can be later called with specific build properties to generate actual targets
|
||||
+.PP
|
||||
+Consider an example:
|
||||
+.PP
|
||||
+exe a : a\&.cpp ;
|
||||
+.br
|
||||
+.PP
|
||||
+When this declaration is parsed, \fIBoost\&.Build\fP creates a metatarget, but does not yet decides what files must be created, or what commands must be used\&. After all build files are parsed, Boost\&.Build considers properties requested on the command line\&. Supposed you have invoked \fIBoost\&.Build\fP with:
|
||||
+.PP
|
||||
+\fIbjam\fP toolset=gcc toolset=msvc
|
||||
+.br
|
||||
+.PP
|
||||
+In that case, the metatarget will be called twice, once with toolset=gcc and once with toolset=msvc\&. Both invocations will produce concrete targets, that will have different extensions and use different command lines\&. Another key concept is build property\&. Build property is a variable that affects the build process\&. It can be specified on the command line, and is passed when calling a metatarget
|
||||
+.PP
|
||||
+While all build tools have a similar mechanism, \fIBoost\&.Build\fP differs by requiring that all build properties are declared in advance, and providing a large set of properties with portable semantics
|
||||
+.PP
|
||||
+The final concept is property propagation\&. Boost\&.Build does not require that every metatarget is called with the same properties\&. Instead, the 'top-level' metatargets are called with the properties specified on the command line Each metatarget can elect to augment or override some properties (in particular, using the requirements mechanism, see the section called “Requirements”: http://www.boost.org/boost-build2/doc/html/bbv2/overview/targets.html#bbv2.overview.targets.requirements) Then, the dependency metatargets are called with modified properties and produce concrete targets that are then used in build process Of course, dependency metatargets maybe in turn modify build properties and have dependencies of their own\&.
|
||||
+.PP
|
||||
+For more in-depth treatment of the requirements and concepts, you may refer to SYRCoSE 2009 Boost\&.Build article (http://syrcose.ispras.ru/2009/files/04_paper.pdf)\&.
|
||||
+.SH "SEE ALSO"
|
||||
+.PP
|
||||
+\fBboost-libraries\fP(3)
|
||||
+.SH "SUPPORT"
|
||||
+.PP
|
||||
+Please report any bugs to https://svn.boost.org/trac/boost/
|
||||
+.SH "COPYRIGHT"
|
||||
+.PP
|
||||
+Boost Software License - Version 1\&.0 - August 17th, 2003
|
||||
+.PP
|
||||
+See the LICENSE_1_0\&.txt file for more information on that license, or directly on Internet:
|
||||
+.br
|
||||
+ http://www.boost.org/LICENSE_1_0.txt
|
||||
@ -1,22 +0,0 @@
|
||||
diff --git a/libs/units/example/autoprefixes.cpp b/libs/units/example/autoprefixes.cpp
|
||||
index 8b2bc43..d04f2fe 100644
|
||||
--- a/libs/units/example/autoprefixes.cpp
|
||||
+++ b/libs/units/example/autoprefixes.cpp
|
||||
@@ -67,7 +67,7 @@ struct thing_base_unit : boost::units::base_unit<thing_base_unit, boost::units::
|
||||
struct euro_base_unit : boost::units::base_unit<euro_base_unit, boost::units::dimensionless_type, 5>
|
||||
{
|
||||
static const char* name() { return("EUR"); }
|
||||
- static const char* symbol() { return("€"); }
|
||||
+ static const char* symbol() { return("€"); }
|
||||
};
|
||||
|
||||
int main()
|
||||
@@ -140,7 +140,7 @@ int main()
|
||||
|
||||
quantity<euro_base_unit::unit_type> ce = 2048. * euro_base_unit::unit_type();
|
||||
cout << name_format << engineering_prefix << ce << endl; // 2.048 kiloEUR
|
||||
- cout << symbol_format << engineering_prefix << ce << endl; // 2.048 k€
|
||||
+ cout << symbol_format << engineering_prefix << ce << endl; // 2.048 k€
|
||||
|
||||
|
||||
return 0;
|
||||
@ -1,31 +0,0 @@
|
||||
diff -up boost_1_57_0/boost/mpl/print.hpp\~ boost_1_57_0/boost/mpl/print.hpp
|
||||
--- boost_1_57_0/boost/mpl/print.hpp~ 2014-07-09 23:12:31.000000000 +0200
|
||||
+++ boost_1_57_0/boost/mpl/print.hpp 2015-01-20 12:44:59.621400948 +0100
|
||||
@@ -52,16 +52,15 @@ struct print
|
||||
enum { n = sizeof(T) + -1 };
|
||||
#elif defined(__MWERKS__)
|
||||
void f(int);
|
||||
-#else
|
||||
- enum {
|
||||
- n =
|
||||
-# if defined(__EDG_VERSION__)
|
||||
- aux::dependent_unsigned<T>::value > -1
|
||||
-# else
|
||||
- sizeof(T) > -1
|
||||
-# endif
|
||||
- };
|
||||
-#endif
|
||||
+#elif defined(__EDG_VERSION__)
|
||||
+ enum { n = aux::dependent_unsigned<T>::value > -1 };
|
||||
+#elif defined(BOOST_GCC)
|
||||
+ enum { n1 };
|
||||
+ enum { n2 };
|
||||
+ enum { n = n1 != n2 };
|
||||
+#else
|
||||
+ enum { n = sizeof(T) > -1 };
|
||||
+#endif
|
||||
};
|
||||
|
||||
#if defined(BOOST_MSVC)
|
||||
|
||||
Diff finished. Tue Jan 20 12:45:03 2015
|
||||
@ -1,13 +0,0 @@
|
||||
Index: boost_1_57_0/tools/build/src/tools/python.jam
|
||||
===================================================================
|
||||
--- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406)
|
||||
+++ boost_1_57_0/tools/build/src/tools/python.jam (working copy)
|
||||
@@ -994,7 +994,7 @@
|
||||
else
|
||||
{
|
||||
alias python_for_extensions
|
||||
- :
|
||||
+ : python
|
||||
: $(target-requirements)
|
||||
:
|
||||
: $(usage-requirements)
|
||||
@ -1,31 +0,0 @@
|
||||
diff -up boost_1_58_0/libs/pool/test/Jamfile.v2\~ boost_1_58_0/libs/pool/test/Jamfile.v2
|
||||
--- boost_1_57_0/libs/pool/test/Jamfile.v2~ 2015-07-17 11:36:16.362519826 +0100
|
||||
+++ boost_1_57_0/libs/pool/test/Jamfile.v2 2015-07-17 11:37:38.858847388 +0100
|
||||
@@ -28,17 +28,17 @@
|
||||
local Werr = <toolset>gcc:<warnings-as-errors>on <toolset>msvc:<warnings-as-errors>on ;
|
||||
|
||||
test-suite pool :
|
||||
- [ run test_simple_seg_storage.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4267 ]
|
||||
- [ run test_pool_alloc.cpp : : : $(Werr) ]
|
||||
- [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4512 ]
|
||||
- [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) ]
|
||||
- [ run test_bug_3349.cpp : : : $(Werr) ]
|
||||
- [ run test_bug_4960.cpp : : : $(Werr) ]
|
||||
- [ run test_bug_1252.cpp : : : $(Werr) ]
|
||||
- [ run test_bug_2696.cpp : : : $(Werr) ]
|
||||
- [ run test_bug_5526.cpp : : : $(Werr) ]
|
||||
+ [ run test_simple_seg_storage.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4267 <library>/boost/system//boost_system ]
|
||||
+ [ run test_pool_alloc.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
+ [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4512 <library>/boost/system//boost_system ]
|
||||
+ [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
+ [ run test_bug_3349.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
+ [ run test_bug_4960.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
+ [ run test_bug_1252.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
+ [ run test_bug_2696.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
+ [ run test_bug_5526.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
[ run test_threading.cpp : : : <threading>multi <library>/boost/thread//boost_thread ]
|
||||
- [ run ../example/time_pool_alloc.cpp : : : $(Werr) ]
|
||||
+ [ run ../example/time_pool_alloc.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
[ compile test_poisoned_macros.cpp : $(Werr) ]
|
||||
|
||||
#
|
||||
@ -1,120 +0,0 @@
|
||||
Index: boost/pool/pool.hpp
|
||||
===================================================================
|
||||
--- boost/pool/pool.hpp (revision 78317)
|
||||
+++ boost/pool/pool.hpp (revision 78326)
|
||||
@@ -27,4 +27,6 @@
|
||||
#include <boost/pool/poolfwd.hpp>
|
||||
|
||||
+// std::numeric_limits
|
||||
+#include <boost/limits.hpp>
|
||||
// boost::integer::static_lcm
|
||||
#include <boost/integer/common_factor_ct.hpp>
|
||||
@@ -358,4 +360,11 @@
|
||||
}
|
||||
|
||||
+ size_type max_chunks() const
|
||||
+ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool.
|
||||
+ size_type partition_size = alloc_size();
|
||||
+ size_type POD_size = integer::static_lcm<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type);
|
||||
+ return (std::numeric_limits<size_type>::max() - POD_size) / alloc_size();
|
||||
+ }
|
||||
+
|
||||
static void * & nextof(void * const ptr)
|
||||
{ //! \returns Pointer dereferenced.
|
||||
@@ -377,5 +388,7 @@
|
||||
//! the first time that object needs to allocate system memory.
|
||||
//! The default is 32. This parameter may not be 0.
|
||||
- //! \param nmax_size is the maximum number of chunks to allocate in one block.
|
||||
+ //! \param nmax_size is the maximum number of chunks to allocate in one block.
|
||||
+ set_next_size(nnext_size);
|
||||
+ set_max_size(nmax_size);
|
||||
}
|
||||
|
||||
@@ -400,7 +413,7 @@
|
||||
}
|
||||
void set_next_size(const size_type nnext_size)
|
||||
- { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0.
|
||||
- //! \returns nnext_size.
|
||||
- next_size = start_size = nnext_size;
|
||||
+ { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0.
|
||||
+ BOOST_USING_STD_MIN();
|
||||
+ next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks());
|
||||
}
|
||||
size_type get_max_size() const
|
||||
@@ -410,5 +423,6 @@
|
||||
void set_max_size(const size_type nmax_size)
|
||||
{ //! Set max_size.
|
||||
- max_size = nmax_size;
|
||||
+ BOOST_USING_STD_MIN();
|
||||
+ max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks());
|
||||
}
|
||||
size_type get_requested_size() const
|
||||
@@ -713,7 +727,7 @@
|
||||
BOOST_USING_STD_MIN();
|
||||
if(!max_size)
|
||||
- next_size <<= 1;
|
||||
+ set_next_size(next_size << 1);
|
||||
else if( next_size*partition_size/requested_size < max_size)
|
||||
- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
|
||||
+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
|
||||
|
||||
// initialize it,
|
||||
@@ -753,7 +767,7 @@
|
||||
BOOST_USING_STD_MIN();
|
||||
if(!max_size)
|
||||
- next_size <<= 1;
|
||||
+ set_next_size(next_size << 1);
|
||||
else if( next_size*partition_size/requested_size < max_size)
|
||||
- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
|
||||
+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
|
||||
|
||||
// initialize it,
|
||||
@@ -797,4 +811,6 @@
|
||||
//! \returns Address of chunk n if allocated ok.
|
||||
//! \returns 0 if not enough memory for n chunks.
|
||||
+ if (n > max_chunks())
|
||||
+ return 0;
|
||||
|
||||
const size_type partition_size = alloc_size();
|
||||
@@ -845,7 +861,7 @@
|
||||
BOOST_USING_STD_MIN();
|
||||
if(!max_size)
|
||||
- next_size <<= 1;
|
||||
+ set_next_size(next_size << 1);
|
||||
else if( next_size*partition_size/requested_size < max_size)
|
||||
- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
|
||||
+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
|
||||
|
||||
// insert it into the list,
|
||||
Index: libs/pool/test/test_bug_6701.cpp
|
||||
===================================================================
|
||||
--- libs/pool/test/test_bug_6701.cpp (revision 78326)
|
||||
+++ libs/pool/test/test_bug_6701.cpp (revision 78326)
|
||||
@@ -0,0 +1,27 @@
|
||||
+/* Copyright (C) 2012 Étienne Dupuis
|
||||
+*
|
||||
+* Use, modification and distribution is subject to the
|
||||
+* Boost Software License, Version 1.0. (See accompanying
|
||||
+* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
||||
+*/
|
||||
+
|
||||
+// Test of bug #6701 (https://svn.boost.org/trac/boost/ticket/6701)
|
||||
+
|
||||
+#include <boost/pool/object_pool.hpp>
|
||||
+#include <boost/limits.hpp>
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+ boost::pool<> p(1024, std::numeric_limits<size_t>::max() / 768);
|
||||
+
|
||||
+ void *x = p.malloc();
|
||||
+ BOOST_ASSERT(!x);
|
||||
+
|
||||
+ BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_next_size());
|
||||
+ BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_max_size());
|
||||
+
|
||||
+ void *y = p.ordered_malloc(std::numeric_limits<size_t>::max() / 768);
|
||||
+ BOOST_ASSERT(!y);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
@ -1,13 +0,0 @@
|
||||
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2018-01-19 13:09:56.041685502 +0000
|
||||
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 13:09:56.042685500 +0000
|
||||
@@ -421,7 +421,9 @@
|
||||
|
||||
rule set-address-model-options ( targets * : sources * : properties * )
|
||||
{
|
||||
- local model = [ feature.get-values address-model : $(properties) ] ;
|
||||
+ # For RPM builds the address model flag is passed in %{optflags}.
|
||||
+ # local model = [ feature.get-values address-model : $(properties) ] ;
|
||||
+ local model ;
|
||||
if $(model)
|
||||
{
|
||||
local option ;
|
||||
@ -1,26 +0,0 @@
|
||||
--- boost_1_66_0/tools/build/src/engine/build.jam~ 2018-02-07 21:36:14.552201421 +0000
|
||||
+++ boost_1_66_0/tools/build/src/engine/build.jam 2018-02-07 21:36:29.014173266 +0000
|
||||
@@ -4,7 +4,7 @@
|
||||
#~ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
# Clean env vars of any "extra" empty values.
|
||||
-for local v in ARGV CC CFLAGS LIBS
|
||||
+for local v in ARGV CC CFLAGS LIBS RPM_OPT_FLAGS RPM_LD_FLAGS
|
||||
{
|
||||
local values ;
|
||||
for local x in $($(v))
|
||||
@@ -215,12 +215,12 @@
|
||||
: -L$(--python-lib[1]) -l$(--python-lib[2]) ;
|
||||
## GCC 2.x, 3.x, 4.x
|
||||
toolset gcc gcc : "-o " : -D
|
||||
- : -pedantic -fno-strict-aliasing
|
||||
+ : -pedantic -fno-strict-aliasing $(RPM_OPT_FLAGS)
|
||||
[ opt --release : [ opt --symbols : -g : -s ] -O3 ]
|
||||
[ opt --debug : -g -O0 -fno-inline ]
|
||||
[ opt --profile : -O3 -g -pg ]
|
||||
-I$(--python-include) -I$(--extra-include) -Wno-long-long
|
||||
- : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
|
||||
+ : -L$(--python-lib[1]) -l$(--python-lib[2]) $(RPM_LD_FLAGS) ;
|
||||
## GCC 2.x, 3.x on CYGWIN but without cygwin1.dll
|
||||
toolset gcc-nocygwin gcc : "-o " : -D
|
||||
: -s -O3 -mno-cygwin
|
||||
@ -1,49 +0,0 @@
|
||||
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2017-12-13 23:56:50.000000000 +0000
|
||||
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 12:48:26.264755316 +0000
|
||||
@@ -603,7 +603,7 @@ rule compile.fortran ( targets * : sourc
|
||||
|
||||
actions compile.c++ bind PCH_FILE
|
||||
{
|
||||
- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
|
||||
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
|
||||
}
|
||||
|
||||
actions compile.c bind PCH_FILE
|
||||
@@ -613,7 +613,7 @@ actions compile.c bind PCH_FILE
|
||||
|
||||
actions compile.c++.preprocess bind PCH_FILE
|
||||
{
|
||||
- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)"
|
||||
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)"
|
||||
}
|
||||
|
||||
actions compile.c.preprocess bind PCH_FILE
|
||||
@@ -755,17 +755,17 @@ actions compile.c.pch
|
||||
###
|
||||
|
||||
# Declare flags and action for compilation.
|
||||
-toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
|
||||
-toolset.flags gcc.compile OPTIONS <optimization>speed : -O3 ;
|
||||
-toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
|
||||
-
|
||||
-toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
|
||||
-toolset.flags gcc.compile OPTIONS <inlining>on : -Wno-inline ;
|
||||
-toolset.flags gcc.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
|
||||
-
|
||||
-toolset.flags gcc.compile OPTIONS <warnings>off : -w ;
|
||||
-toolset.flags gcc.compile OPTIONS <warnings>on : -Wall ;
|
||||
-toolset.flags gcc.compile OPTIONS <warnings>all : -Wall -pedantic ;
|
||||
+toolset.flags gcc.compile OPTIONS <optimization>off : ;
|
||||
+toolset.flags gcc.compile OPTIONS <optimization>speed : ;
|
||||
+toolset.flags gcc.compile OPTIONS <optimization>space : ;
|
||||
+
|
||||
+toolset.flags gcc.compile OPTIONS <inlining>off : ;
|
||||
+toolset.flags gcc.compile OPTIONS <inlining>on : ;
|
||||
+toolset.flags gcc.compile OPTIONS <inlining>full : ;
|
||||
+
|
||||
+toolset.flags gcc.compile OPTIONS <warnings>off : ;
|
||||
+toolset.flags gcc.compile OPTIONS <warnings>on : ;
|
||||
+toolset.flags gcc.compile OPTIONS <warnings>all : ;
|
||||
toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : -Werror ;
|
||||
|
||||
toolset.flags gcc.compile OPTIONS <debug-symbols>on : -g ;
|
||||
@ -1,23 +0,0 @@
|
||||
From fdbdb94db64e888fce90fe519be23c2a4396a82e Mon Sep 17 00:00:00 2001
|
||||
From: pradeep <pradeep@arrayfire.com>
|
||||
Date: Tue, 8 May 2018 14:53:38 +0530
|
||||
Subject: [PATCH 1/2] Fix return var qualifier in svm_ptr::get_context
|
||||
|
||||
Lack of `const` qualifier is throwing errors with GCC 8.1
|
||||
---
|
||||
include/boost/compute/memory/svm_ptr.hpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/boost/compute/memory/svm_ptr.hpp b/include/boost/compute/memory/svm_ptr.hpp
|
||||
index c8753f5b..56cf1268 100644
|
||||
--- a/include/boost/compute/memory/svm_ptr.hpp
|
||||
+++ b/include/boost/compute/memory/svm_ptr.hpp
|
||||
@@ -126,7 +126,7 @@ class svm_ptr
|
||||
return m_ptr - other.m_ptr;
|
||||
}
|
||||
|
||||
- context& get_context() const
|
||||
+ const context& get_context() const
|
||||
{
|
||||
return m_context;
|
||||
}
|
||||
@ -1,20 +0,0 @@
|
||||
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2018-01-19 13:23:45.361330881 +0000
|
||||
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 13:23:45.362330880 +0000
|
||||
@@ -1191,7 +1191,7 @@ rule link ( targets * : sources * : prop
|
||||
|
||||
actions link bind LIBRARIES
|
||||
{
|
||||
- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,$(RPATH) -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
|
||||
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
|
||||
}
|
||||
|
||||
rule link.dll ( targets * : sources * : properties * )
|
||||
@@ -1204,7 +1204,7 @@ rule link.dll ( targets * : sources * :
|
||||
# Differs from 'link' above only by -shared.
|
||||
actions link.dll bind LIBRARIES
|
||||
{
|
||||
- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,$(RPATH) "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
|
||||
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
|
||||
}
|
||||
|
||||
###
|
||||
@ -1,29 +0,0 @@
|
||||
From 0fce0e589353d772ceda4d493b147138406b22fd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Moritz=20Wanzenb=C3=B6ck?= <moritz.wanzenboeck@catalysts.cc>
|
||||
Date: Wed, 11 Jul 2018 11:57:46 +0200
|
||||
Subject: [PATCH] Add missing return statement in numpy import
|
||||
|
||||
This adds a missing return statement in the python3 specific
|
||||
import logic of boost.python.numpy.
|
||||
|
||||
For python3 wrap_import_array() needs to return a pointer value.
|
||||
The import_array() macro only returns NULL in case of error. The
|
||||
missing return statement is UB, so the compiler can assume it does
|
||||
not happen. This means the compiler can assume the error branch
|
||||
is always taken, so import_array must always fail.
|
||||
---
|
||||
src/numpy/numpy.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/numpy/numpy.cpp b/src/numpy/numpy.cpp
|
||||
index 8e259bc75..3ae2295e3 100644
|
||||
--- a/libs/python/src/numpy/numpy.cpp
|
||||
+++ b/libs/python/src/numpy/numpy.cpp
|
||||
@@ -19,6 +19,7 @@ static void wrap_import_array()
|
||||
static void * wrap_import_array()
|
||||
{
|
||||
import_array();
|
||||
+ return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -1,62 +0,0 @@
|
||||
--- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200
|
||||
+++ boost_1_55_0/tools/build/src/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 ?= "" ;
|
||||
|
||||
local cmds-to-try ;
|
||||
|
||||
@@ -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
|
||||
@ -1,39 +0,0 @@
|
||||
From 660487c43fde76f3e64f1cb2e644500da92fe582 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
|
||||
Date: Fri, 9 Feb 2018 18:20:30 +0100
|
||||
Subject: [PATCH] Fix build with Python 3.7
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Python 3.7 changes the return type of _PyUnicode_AsString()
|
||||
from void* to const char* -- causing the build of boost-python
|
||||
to fail.
|
||||
|
||||
Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>
|
||||
---
|
||||
src/converter/builtin_converters.cpp | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/converter/builtin_converters.cpp b/src/converter/builtin_converters.cpp
|
||||
index 1c28af7fc..ee2d5b479 100644
|
||||
--- a/libs/python/src/converter/builtin_converters.cpp
|
||||
+++ b/libs/python/src/converter/builtin_converters.cpp
|
||||
@@ -45,11 +45,16 @@ namespace
|
||||
{
|
||||
return PyString_Check(obj) ? PyString_AsString(obj) : 0;
|
||||
}
|
||||
-#else
|
||||
+#elif PY_VERSION_HEX < 0x03070000
|
||||
void* convert_to_cstring(PyObject* obj)
|
||||
{
|
||||
return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
|
||||
}
|
||||
+#else
|
||||
+ void* convert_to_cstring(PyObject* obj)
|
||||
+ {
|
||||
+ return PyUnicode_Check(obj) ? const_cast<void*>(reinterpret_cast<const void*>(_PyUnicode_AsString(obj))) : 0;
|
||||
+ }
|
||||
#endif
|
||||
|
||||
// Given a target type and a SlotPolicy describing how to perform a
|
||||
@ -1,15 +0,0 @@
|
||||
--- boost_1_66_0/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp~ 2018-02-23 16:59:53.785141676 +0000
|
||||
+++ boost_1_66_0/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp 2018-02-23 17:00:16.838092946 +0000
|
||||
@@ -68,7 +68,11 @@
|
||||
typedef unsignedtype type; \
|
||||
static type call(signedtype n) \
|
||||
{ \
|
||||
- return static_cast<unsignedtype>((n >= 0) ? n : -n); \
|
||||
+ if (n >= 0) \
|
||||
+ return n; \
|
||||
+ if (n == std::numeric_limits<signedtype>::min()) \
|
||||
+ return (unsignedtype)n; \
|
||||
+ return (unsignedtype)(-n); \
|
||||
} \
|
||||
} \
|
||||
/**/
|
||||
85
boost-1.72.0-vs-1.73.0.yaml
Normal file
85
boost-1.72.0-vs-1.73.0.yaml
Normal file
@ -0,0 +1,85 @@
|
||||
name: boost
|
||||
old_version: 1.72.0
|
||||
new_version: 1.73.0
|
||||
interface_differences:
|
||||
- type: 'feature'
|
||||
item: StaticString
|
||||
diff: 社区增加新特性
|
||||
influence: 增加StaticString库
|
||||
- type: 'feature'
|
||||
item: Asio
|
||||
diff: 社区增加新特性
|
||||
influence: 增加ssl::host_name_verification,增加ssl::context构造函数,SSL依赖OpenSSL 1.0.2,ssl::context类会传播非EOF错误
|
||||
- type: 'feature'
|
||||
item: Assert
|
||||
diff: 社区增加新特性
|
||||
influence: Assert库增加source_location
|
||||
- type: 'feature'
|
||||
item: Atomic
|
||||
diff: 社区增加新特性
|
||||
influence: Atomic库增加atomic_ref、atomic_flag::test
|
||||
- type: 'feature'
|
||||
item: Conversion
|
||||
diff: 社区增加新特性
|
||||
influence: Conversion库增加boost::polymorphic_downcast
|
||||
- type: 'feature'
|
||||
item: data_time
|
||||
diff: 社区增加新特性
|
||||
influence: data_time支持constexpr
|
||||
- type: 'feature'
|
||||
item: Geometry
|
||||
diff: 社区增加新特性
|
||||
influence: Geometry增加d3::point_xyz模型
|
||||
- type: 'feature'
|
||||
item: GIL
|
||||
diff: 社区增加新特性
|
||||
influence: image类增加移动构造与移动赋值函数,any_image_view类增加size函数
|
||||
- type: 'feature'
|
||||
item: Histogram
|
||||
diff: 社区增加新特性
|
||||
influence: reduce算法增加crop命令,reduce的slice命令支持category,增加count累加器,sum算法增加新参数
|
||||
- type: 'feature'
|
||||
item: IO
|
||||
diff: 社区增加新特性
|
||||
influence: ostream_joiner实现基于分隔符的join
|
||||
- type: 'feature'
|
||||
item: Log
|
||||
diff: 社区增加新特性
|
||||
influence: 默认sink在每个日志后自动flush
|
||||
- type: 'feature'
|
||||
item: Math
|
||||
diff: 社区增加新特性
|
||||
influence: 增加Cubic Hermite Interpolation、Modified Akima Interpolation、PCHIP Interpolation、Quintic Hermite Interpolation,数值分布增加熵,增加面积计算的几种简单情况。
|
||||
- type: 'feature'
|
||||
item: Mp11
|
||||
diff: 社区增加新特性
|
||||
influence: 增加mp_unique_if、mp_flatten、mp_rotate_left、mp_rotate_right、mp_compose、mp_power_set、mp_partial_sum、mp_iterate
|
||||
- type: 'feature'
|
||||
item: Test
|
||||
diff: 社区增加新特性
|
||||
influence: BOOST_TEST增加tolerance indication, user message and collection comparison modifier
|
||||
- type: 'feature'
|
||||
item: ThrowException
|
||||
diff: 社区增加新特性
|
||||
influence: throw_exception增加boost::source_location类型的重载
|
||||
- type: 'feature'
|
||||
item: Variant2
|
||||
diff: 社区增加新特性
|
||||
influence: 支持std::hash与boost::hash
|
||||
- type: 'feature'
|
||||
item: Atomic
|
||||
diff: 社区删除特性
|
||||
influence: boost/atomic/atomic.hpp不再包含boost/atomic/atomic_flag.hpp与boost/atomic/fences.hpp(涉及到的代码需改为包含boost/atomic.hpp),删除BOOST_ATOMIC_DETAIL_HIGHLIGHT_OP_AND_TEST宏(需使用*_and_test替代),atomic<T>现在考虑T的对齐要求
|
||||
- type: 'ABI'
|
||||
item: data_time
|
||||
diff: data_time全部内联,可以不链接库
|
||||
influence: 无影响,社区保留了库以保持编译兼容。
|
||||
- type: 'ABI'
|
||||
item: IO
|
||||
diff: 调整ostream_string至IO库,并更名为ostream_put
|
||||
influence: 用到此类的代码需要修改类名与库名
|
||||
- type: 'ABI'
|
||||
item: Utility
|
||||
diff: 调整ostream_string至IO库,并更名为ostream_put
|
||||
influence: 用到此类的代码需要修改类名与库名
|
||||
remark: '新增库或类,用户可以根据需要选择使用,对现有代码无影响;使用了Utility库的ostream_string、Atomic库的boost/atomic/atomic.hpp以及BOOST_ATOMIC_DETAIL_HIGHLIGHT_OP_AND_TEST宏的用户需要适配代码;'
|
||||
25
boost-1.81-graph-Dont-run-performance-test-in-CI.patch
Normal file
25
boost-1.81-graph-Dont-run-performance-test-in-CI.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From f58f3df2bf54fd820bd2c043e5000a7c90144804 Mon Sep 17 00:00:00 2001
|
||||
From: Liu Zixian <liuzixian4@huawei.com>
|
||||
Date: Thu, 15 Dec 2022 21:31:43 -0500
|
||||
Subject: [PATCH] Don't run performance test in CI
|
||||
|
||||
---
|
||||
libs/graph/test/Jamfile.v2 | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libs/graph/test/Jamfile.v2 b/libs/graph/test/Jamfile.v2
|
||||
index a0c15ca7b..c882916a7 100644
|
||||
--- a/libs/graph/test/Jamfile.v2
|
||||
+++ b/libs/graph/test/Jamfile.v2
|
||||
@@ -47,7 +47,10 @@ alias graph_test_regular :
|
||||
[ run undirected_dfs.cpp ]
|
||||
[ compile dfs_cc.cpp ]
|
||||
[ compile dijkstra_cc.cpp ]
|
||||
- [ run dijkstra_heap_performance.cpp /boost/timer//boost_timer : 10000 ]
|
||||
+
|
||||
+ # Performance benchmark
|
||||
+ #[ run dijkstra_heap_performance.cpp /boost/timer//boost_timer : 10000 ]
|
||||
+
|
||||
[ run dijkstra_no_color_map_compare.cpp : 10000 ]
|
||||
[ run disjoint_set_test.cpp ]
|
||||
[ run dominator_tree_test.cpp ]
|
||||
@ -0,0 +1,27 @@
|
||||
From 50973dc10ea16931245ea61a00b2ce9041acc5ba Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Wed, 4 Jan 2023 17:33:31 +0100
|
||||
Subject: [PATCH] Avoid boost::phoenix::placeholders::uarg1..10 ODR violations
|
||||
|
||||
Those variables, defined in an include file, had external linkage, causing ODR
|
||||
violations. Make them const to implicitly give them internal linkage.
|
||||
---
|
||||
boost/phoenix/stl/tuple.hpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/boost/phoenix/stl/tuple.hpp b/boost/phoenix/stl/tuple.hpp
|
||||
index a83014a..7f61a40 100644
|
||||
--- a/boost/phoenix/stl/tuple.hpp
|
||||
+++ b/boost/phoenix/stl/tuple.hpp
|
||||
@@ -110,7 +110,7 @@ namespace boost { namespace phoenix {
|
||||
namespace placeholders {
|
||||
#define BOOST_PP_LOCAL_LIMITS (1, BOOST_PHOENIX_ARG_LIMIT)
|
||||
#define BOOST_PP_LOCAL_MACRO(N) \
|
||||
- auto uarg##N = \
|
||||
+ auto const uarg##N = \
|
||||
boost::phoenix::get_<(N)-1>(boost::phoenix::placeholders::arg1);
|
||||
#include BOOST_PP_LOCAL_ITERATE()
|
||||
}
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -0,0 +1,30 @@
|
||||
From 4239d93dad32a11e4c3829050f8070d456266133 Mon Sep 17 00:00:00 2001
|
||||
From: jzmaddock <john@johnmaddock.co.uk>
|
||||
Date: Wed, 1 Jun 2022 19:35:36 +0100
|
||||
Subject: [PATCH] Update multiprecision_float_test.cpp to not overflow type
|
||||
double. Previously the max value for uint1024_t could just squeeze into a
|
||||
double because truncation occurred during the conversion, now that cpp_int
|
||||
performs correctly rounded conversions, overflow occurs, and the computation
|
||||
fails. Changed the problem distribution to use a multiprecision weight type,
|
||||
rather than double.
|
||||
|
||||
---
|
||||
libs/random/test/multiprecision_float_test.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libs/random/test/multiprecision_float_test.cpp b/libs/random/test/multiprecision_float_test.cpp
|
||||
index bc2a936..2b53483 100644
|
||||
--- a/libs/random/test/multiprecision_float_test.cpp
|
||||
+++ b/libs/random/test/multiprecision_float_test.cpp
|
||||
@@ -77,7 +77,7 @@ typedef boost::mpl::list <
|
||||
boost::random::lognormal_distribution<big_float>,
|
||||
boost::random::normal_distribution<big_float>,
|
||||
#ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
- boost::random::piecewise_constant_distribution<big_float>,
|
||||
+ boost::random::piecewise_constant_distribution<big_float, big_float>,
|
||||
boost::random::piecewise_linear_distribution<big_float>,
|
||||
#endif
|
||||
boost::random::student_t_distribution<big_float>,
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -0,0 +1,34 @@
|
||||
From 7561690135c67ecf88c2133bad7680ebd2665c36 Mon Sep 17 00:00:00 2001
|
||||
From: jzmaddock <john@johnmaddock.co.uk>
|
||||
Date: Wed, 1 Jun 2022 19:32:55 +0100
|
||||
Subject: [PATCH] Update multiprecision_int_test.cpp to not accidentality
|
||||
overflow type double. Multiprecision now performs correct rounding when
|
||||
converting to double - previously the max value for uint1024_t would just fit
|
||||
in a double if it was truncated. But now that it's correctly rounded it
|
||||
overflows and breaks the calculation.
|
||||
|
||||
---
|
||||
libs/random/test/multiprecision_int_test.cpp | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libs/random/test/multiprecision_int_test.cpp b/libs/random/test/multiprecision_int_test.cpp
|
||||
index 41ec229..a861cca 100644
|
||||
--- a/libs/random/test/multiprecision_int_test.cpp
|
||||
+++ b/libs/random/test/multiprecision_int_test.cpp
|
||||
@@ -215,8 +215,11 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(discrete_distributions, distribution_type, other_d
|
||||
distribution_type d2;
|
||||
ss >> d2;
|
||||
BOOST_CHECK(d == d2);
|
||||
-
|
||||
- boost::random::independent_bits_engine<boost::random::mt19937, std::numeric_limits<boost::multiprecision::uint1024_t>::digits, boost::multiprecision::uint1024_t > big_random;
|
||||
+ //
|
||||
+ // The number of digits in the independent_bits_engine must be low enough that we don't overflow
|
||||
+ // when converting to a double (see other_distributions declared above).
|
||||
+ //
|
||||
+ boost::random::independent_bits_engine<boost::random::mt19937, std::numeric_limits<boost::multiprecision::uint1024_t>::digits - 2, boost::multiprecision::uint1024_t > big_random;
|
||||
for(unsigned i = 0; i < 200; ++i)
|
||||
{
|
||||
result_type r = d(big_random);
|
||||
--
|
||||
2.33.0
|
||||
|
||||
37
boost-1.81-random-test-Add-missing-includes.patch
Normal file
37
boost-1.81-random-test-Add-missing-includes.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From c3ada7a1b2b54f4b27585f72308a76984f8489b4 Mon Sep 17 00:00:00 2001
|
||||
From: jzmaddock <john@johnmaddock.co.uk>
|
||||
Date: Tue, 16 Mar 2021 10:47:16 +0000
|
||||
Subject: [PATCH] Add missing #includes.
|
||||
|
||||
---
|
||||
test/multiprecision_float_test.cpp | 1 +
|
||||
test/multiprecision_int_test.cpp | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/libs/random/test/multiprecision_float_test.cpp b/libs/random/test/multiprecision_float_test.cpp
|
||||
index 904c59d..bc2a936 100644
|
||||
--- a/libs/random/test/multiprecision_float_test.cpp
|
||||
+++ b/libs/random/test/multiprecision_float_test.cpp
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <boost/multiprecision/debug_adaptor.hpp>
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
#include <boost/random.hpp>
|
||||
+#include <boost/mpl/list.hpp>
|
||||
#include <sstream>
|
||||
|
||||
|
||||
diff --git a/libs/random/test/multiprecision_int_test.cpp b/libs/random/test/multiprecision_int_test.cpp
|
||||
index 577e52a..41ec229 100644
|
||||
--- a/libs/random/test/multiprecision_int_test.cpp
|
||||
+++ b/libs/random/test/multiprecision_int_test.cpp
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <boost/random/uniform_int.hpp>
|
||||
#include <boost/random/uniform_smallint.hpp>
|
||||
#include <boost/random/discrete_distribution.hpp>
|
||||
+#include <boost/mpl/list.hpp>
|
||||
#include <sstream>
|
||||
|
||||
typedef boost::mpl::list <
|
||||
--
|
||||
2.33.0
|
||||
|
||||
31
boost-remove-cmakedir.patch
Normal file
31
boost-remove-cmakedir.patch
Normal file
@ -0,0 +1,31 @@
|
||||
Index: boost_1_80_0/tools/boost_install/boost-install.jam
|
||||
===================================================================
|
||||
--- boost_1_80_0.orig/tools/boost_install/boost-install.jam
|
||||
+++ boost_1_80_0/tools/boost_install/boost-install.jam
|
||||
@@ -753,25 +753,6 @@ rule generate-cmake-config- ( target : s
|
||||
"get_filename_component(_BOOST_CMAKEDIR \"${CMAKE_CURRENT_LIST_DIR}/../\" REALPATH)"
|
||||
: true ;
|
||||
|
||||
- if [ path.is-rooted $(cmakedir) ]
|
||||
- {
|
||||
- local cmakedir-native = [ path-native-fwd $(cmakedir) ] ;
|
||||
-
|
||||
- print.text
|
||||
-
|
||||
- ""
|
||||
- "# If the computed and the original directories are symlink-equivalent, use original"
|
||||
- "if(EXISTS \"$(cmakedir-native)\")"
|
||||
- " get_filename_component(_BOOST_CMAKEDIR_ORIGINAL \"$(cmakedir-native)\" REALPATH)"
|
||||
- " if(_BOOST_CMAKEDIR STREQUAL _BOOST_CMAKEDIR_ORIGINAL)"
|
||||
- " set(_BOOST_CMAKEDIR \"$(cmakedir-native)\")"
|
||||
- " endif()"
|
||||
- " unset(_BOOST_CMAKEDIR_ORIGINAL)"
|
||||
- "endif()"
|
||||
- ""
|
||||
- : true ;
|
||||
- }
|
||||
-
|
||||
get-dir "_BOOST_INCLUDEDIR" : $(includedir) ;
|
||||
|
||||
if $(library-type) = INTERFACE
|
||||
|
||||
1686
boost.spec
1686
boost.spec
File diff suppressed because it is too large
Load Diff
4
boost.yaml
Normal file
4
boost.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
version_control: github
|
||||
src_repo: boostorg/boost
|
||||
tag_prefix: ^boost-
|
||||
seperator: .
|
||||
Binary file not shown.
13
dynamic_linking.patch
Normal file
13
dynamic_linking.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: boost_1_80_0/libs/test/build/Jamfile.v2
|
||||
===================================================================
|
||||
--- boost_1_80_0.orig/libs/test/build/Jamfile.v2
|
||||
+++ boost_1_80_0/libs/test/build/Jamfile.v2
|
||||
@@ -95,7 +95,7 @@ lib boost_test_exec_monitor
|
||||
: # sources
|
||||
$(TEST_EXEC_MON_SOURCES).cpp
|
||||
: # requirements
|
||||
- <link>static
|
||||
+ # <link>static
|
||||
: # default build
|
||||
: # usage-requirements
|
||||
<link>shared:<define>BOOST_TEST_DYN_LINK=1
|
||||
@ -1,21 +0,0 @@
|
||||
changequote(`[', `]')dnl
|
||||
/* GNU ld script
|
||||
|
||||
Boost.Thread header files pull in enough of Boost.System that
|
||||
symbols from the latter library are referenced by a compiled object
|
||||
that includes Boost.Thread headers. libboost_system-mt.so is among
|
||||
libboost_thread-mt.so's DT_NEEDED, but program linker requires that
|
||||
missing symbols are satisfied by direct dependency, not by a
|
||||
transitive one. Hence this linker script, which brings in the
|
||||
Boost.System DSO. */
|
||||
|
||||
INPUT(libboost_thread.so.VERSION)
|
||||
INPUT(libboost_system.so.VERSION)
|
||||
ifdef([HAS_ATOMIC_FLAG_LOCKFREE],[],
|
||||
[
|
||||
/* If the given architecture doesn't have lock-free implementation of
|
||||
boost::atomic_flag, the dependency on Boost.Atomic may leak from
|
||||
the header files to client binaries. */
|
||||
|
||||
INPUT(libboost_atomic.so.VERSION)
|
||||
])dnl
|
||||
Loading…
Reference in New Issue
Block a user