Posted
almost 8 years
ago
Fixes in 1.65.1
Config:
Version macro changes for CUDA.
Update last known MSVC
... [More]
version.
MSVC 14.11 supports structured bindings.
Context:
Return a continuation from functions executed by resume_with.
Fiber:
Return a continuation from functions executed by resume_with.
Smart Pointers:
Fix Visual C++ version checks.
Fix compilation for NVCC with host compiler clang.
Stacktrace:
Update build testing file to detail with a MinGW issue.
Change preprocessor file extensions to work with the installation
system.
Support FreeBSD and other OSs that do not define _GNU_SOURCE
but have _Unwind_Backtrace
function.
Thread:
Fix bug in boost::condition_variable
on Windows (#130).
Compilers Tested
Boost's primary test compilers are:
Linux:
Clang: 3.0, 4.0.1, 5.0.0
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.0
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 5.0.0
Clang, C++17: 5.0.0
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 17.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Clang, C++1z: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0,
7.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
QNX:
QCC, C++11: 4.4.2
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: , 12.5_next, 12.5
Acknowledgements
Beman Dawes, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
New Libraries in
1.65.0
PolyCollection:
Fast
containers of polymorphic objects, from Joaquín M López Muñoz.
Stacktrace:
Gather, store,
copy and print backtraces, from Antony Polukhin.
Note: Library has issue
with MinGW and may produce empty backtraces with that compiler.
Removed Libraries
in 1.65.0
TR1
Updated Libraries
in 1.65.0
Asio:
Changed to require g++ versions >= 4.7 to use
standard atomics, to fix a linker error when using g++
4.6 (#13121).
Enabled use of constexpr
and variadic templates with recent MSVC versions.
Fixed a race condition in the Linux epoll backend, which may occur
when a socket or descriptor is closed while another thread is blocked
on epoll.
Eliminated use of deprecated auto_ptr.
Fixed misplaced use of asio_handler_is_continuation
result in reactive async_accept
implementation.
Changed to use poll.h
rather than sys/poll.h on some modern POSIX platforms
(#12419).
Fixed MSVC intellisense detection.
Disabled use of the __thread
keyword extension for android/clang/x86 targets.
Context:
Improvements:
call/cc supports ucontext-API (swapcontext)
call/cc supports Windows-Fiber-API
call/cc supports on demand growing (segmented/split) stacks
Bugfixes:
#12719: context test cases and examples segmentation fault
when built with mingw-w64 toolchain
#52: Failing to build callcc test with g++-4.9
important:
required bug fix 420554fe9ac01482990e8ae314f4f7ba81010c9a
not included in 1.65
Config:
Added BOOST_NO_CXX11_POINTER_TRAITS,
BOOST_NO_CXX17_FOLD_EXPRESSIONS,
BOOST_NO_CXX17_INLINE_VARIABLES,
BOOST_NO_CXX17_STRUCTURED_BINDINGS
defect detection.
BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
Core:
Implemented pointer_traits
for C++03 and higher, that implements P0653r0
(Glen Fernandes). This implementation is now used by Align, Circular
Buffer, Fiber, Geometry, among other libraries.
Added BOOST_TEST_GT
and BOOST_TEST_GE
to Lightweight Test.
Coroutine2:
supports ucontext-API (swapcontext)
supports Windows-Fiber-API
#13064: different behavior coroutine and coroutine2
DLL:
Fix PE parsing on non Windows platforms.
Fiber:
Improvements:
hardware transactional memory (Intel TSX) supported
NUMA supported
ucontext-API (swapcontext) supported
Windows-Fiber-API supported
on demand growing stacks
Bugfixes:
#121: failing to build static lib with GCC 4.8 and C++11
#123: assertion failure in schedule_from_remote
#125: erratic crashes in testsuite
#126: incorrect std::memory_order value in compare_exchange_strong?
important:
required bug fix 63f1041f0e484e64dec437a0fa780ea2463abda2
not included in 1.65
Fusion:
MSVC 14.1 supports variadic containers, such as fusion::vector,
fusion::deque, fusion::map,
fusion::set, and fusion::tuple.
(#12986)
Geometry:
Improvements:
Add correct() overload taking area strategy
Add is_convex() overload taking side strategy
Add missing relational operations (covered_by, crosses, equals,
etc.) for MultiPoint/AnyGeometry
Solved issues:
12410
Lack of support of geographic coordinate system in correct()
13035
Wrong result of non-cartesian intersection strategies for segments
near poles.
13057
Wrong result of intersects() for linestrings caused by numerical
issue in disjoint() for boxes.
Bugfixes:
Fix is_valid which could return false for multipolygons where
an interior ring touches another interior ring
Fix is_valid which could return false for multipolygons where
a polygon was located in an interior ring, all touching each
other
Fix union which could produce invalid results (for some cases,
this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
Fix intersection (idem), but some cases are still not yet valid
Fix difference (idem), but some cases are still not yet valid
Fix propagation of area strategy into the internals of various
algorithms from intersection strategy
Fix uninitialized variable in relate and reference to temporary
in overlay
Fix error in disjoint for geographic Segment/Box
Fix handling of non-cartesian geometries in various algorithms
Hash:
Support for char16_t,
char32_t, u16string, u32string.
Log:
General changes:
Improved compatibility with Solaris.
See changelog
for more details.
Phoenix:
Corrected some documentation. (PR#50)
phoenix::erase with associative container
returns iterator in C++11 mode. (#7423)
std::set and std::multiset
should be worked with predefined lazy functions. (PR#52)
Disable phoenix::random_shuffle in C++17. (PR#53)
Don't forward declare, include instead. (#11875)
Predef:
Fix Intel C/C++ version 9999 detection to be 12.1.0.
Addition of BOOST_PREDEF_WORKAROUND
and BOOST_PREDEF_TESTED_AT
macros for defect workarounds and detection.
Add ARM64 MSVC SIMD detection. (from Minmin Gong)
Add detection of iOS simulator vs device as a platform choice. (from
Ruslan Baratov)
Fix MinGW incorrect header guard. (from Ruslan Baratov)
Program Options:
Support for storing values into boost::optional,
thanks to Ed Catmur (#7495,
PR#18)
Parsing of implicit options can now use the value from the next token.
Since 1.59, unless the value of implicit option was specified in
the same token as the option itself, the implicit value was used.
That proved inconvenient, and now we again check the next token and
use it as value if it's not an option itself. (#25)
Python:
eval(),
exec(),
and exec_statement() now allow char
const *
arguments, in addition to boost::python::str.
The boost::python::numeric API has been removed, as
it is being obsoleted by boost::python::numpy.
Fix some build issues when using Python3 with MSVC.
Smart Pointers:
New class templateatomic_shared_ptr,
that provides thread-safe atomic pointer operations over shared_ptr. (Peter Dimov)
New class template local_shared_ptr,
where the reference count is updated with non-atomic operations.
(Peter Dimov)
More optimizations in allocate_shared
and make_shared for
arrays. (Glen Fernandes)
Documentation has been completely rewritten in Asciidoc format.
Test:
Boost.test v3.6 see the Change
log section for more details.
New feature:
C++17 compatibility (tested on VS2017), thanks to Daniela
Engert
Direct comparison of C-arrays in BOOST_TEST
Better global fixtures mechanism, and spitting of responsibilities
with BOOST_TEST_GLOBAL_FIXTURE
for global fixtures and BOOST_TEST_GLOBAL_CONFIGURATION
for global initialization (compile time configuration).
Improved support for fixtures (setup
/ teardown
member function) which enables better teardown time checks
Breaking changes
Some API changes for the loggers
Deprecating BOOST_GLOBAL_FIXTURE
in favor of BOOST_TEST_GLOBAL_FIXTURE
and BOOST_TEST_GLOBAL_CONFIGURATION
(see above)
Bug fixes
Trac tickets #5282, #5563, #11471, #11962,
#12228
Trac tickets #12631, #13011
Pull request PR106
Thread:
Important Regression on Windows:
#130
windows: Bug in boost::condition_variable on Windows Please,
merge these two patches
https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657
https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d
Bug fixes
#6787
boost::thread::sleep() hangs if system time is rolled back
#12519
boost::thread::try_join_for does not return after timeout
#12874
future<> extension constructor must be under BOOST_THREAD_PROVIDES_FUTURE_UNWRAP
#12888
Linking with boost thread does not work on mingw/gcc 4.4
#12958
sync_bounded_queue::wait_pull_front( lve ) might throw
#13077
Linking to static 64bit libboost_thread fails DLL initialization
#13155
log doesn't build on a system with pthreads
#121
on_tls_prepare is broken under VS2017
TypeIndex:
Include if required, thanks to
Ed Catmur #13009.
Use native hash_code() when possible on GCC-like compilers
#13027.
Fix ctti_type_index
for GCC 7 and later, thanks to Benjamin Buch PR16.
Typeof:
Fix compilation error with clang-cl ticket
11821.
Unordered:
Use the same data structure for unordered_set
and unordered_multiset,
and forunordered_map
and unordered_multimap.
This is required for C++17, so that nodes can be merged and extracted
between compatible containers.
Add deprecated attributes to long deprecated functions.
Improved use of allocator_traits
construct and destroy on C++11 compilers, using
piecewise pair construction when appropriate.
Fewer workarounds on newer Oracle compilers.
Avoid dereferencing pointers to uninitialized memory (PR
#5).
Utility:
Improved compatibility of boost::next/boost::prior with SFINAE-unfriendly iterators.
#10847, #13002.
Variant:
r-value overload for boost::get
was added by Albert Sverdlov #13018.
Missing include fro <boost/variant/polymorphic_get.hpp>
header was added by Adam Badura #13037.
boost::make_variant_over was fixed and
now works with views and other Forward Sequences (thanks to Mikhail
Maksimov for the fix) #8554, #10041, PR#35.
[Less]
|
Posted
almost 8 years
ago
Known Issues
These are patches from library authors which were found too late to be fixed
in the release. Be careful as they have not been through the normal testing
process.
Combined patch for fixes
... [More]
to issues: boost_1_65_0.patch.
Use patch -p1 < boost_1_65_0.patch from the root of the boost repo to
apply. Or you can apply the patches individually below.
Context and Fiber don't return continuations when they should:
Context
patch
Fiber
patch
Thread: Bug in boost::condition_variable on Windows:
Thread
patch 1
Thread
patch 2
New Libraries
PolyCollection:
Fast
containers of polymorphic objects, from Joaquín M López Muñoz.
Stacktrace:
Gather, store,
copy and print backtraces, from Antony Polukhin.
Note: Library has issue
with MinGW and may produce empty backtraces with that compiler.
Removed Libraries
TR1
Updated Libraries
Asio:
Changed to require g++ versions >= 4.7 to use
standard atomics, to fix a linker error when using g++
4.6 (#13121).
Enabled use of constexpr
and variadic templates with recent MSVC versions.
Fixed a race condition in the Linux epoll backend, which may occur
when a socket or descriptor is closed while another thread is blocked
on epoll.
Eliminated use of deprecated auto_ptr.
Fixed misplaced use of asio_handler_is_continuation
result in reactive async_accept
implementation.
Changed to use poll.h
rather than sys/poll.h on some modern POSIX platforms
(#12419).
Fixed MSVC intellisense detection.
Disabled use of the __thread
keyword extension for android/clang/x86 targets.
Context:
Improvements:
call/cc supports ucontext-API (swapcontext)
call/cc supports Windows-Fiber-API
call/cc supports on demand growing (segmented/split) stacks
Bugfixes:
#12719: context test cases and examples segmentation fault
when built with mingw-w64 toolchain
#52: Failing to build callcc test with g++-4.9
important:
required bug fix 420554fe9ac01482990e8ae314f4f7ba81010c9a
not included in 1.65
Config:
Added BOOST_NO_CXX11_POINTER_TRAITS,
BOOST_NO_CXX17_FOLD_EXPRESSIONS,
BOOST_NO_CXX17_INLINE_VARIABLES,
BOOST_NO_CXX17_STRUCTURED_BINDINGS
defect detection.
BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
Core:
Implemented pointer_traits
for C++03 and higher, that implements P0653r0
(Glen Fernandes). This implementation is now used by Align, Circular
Buffer, Fiber, Geometry, among other libraries.
Added BOOST_TEST_GT
and BOOST_TEST_GE
to Lightweight Test.
Coroutine2:
supports ucontext-API (swapcontext)
supports Windows-Fiber-API
#13064: different behavior coroutine and coroutine2
DLL:
Fix PE parsing on non Windows platforms.
Fiber:
Improvements:
hardware transactional memory (Intel TSX) supported
NUMA supported
ucontext-API (swapcontext) supported
Windows-Fiber-API supported
on demand growing stacks
Bugfixes:
#121: failing to build static lib with GCC 4.8 and C++11
#123: assertion failure in schedule_from_remote
#125: erratic crashes in testsuite
#126: incorrect std::memory_order value in compare_exchange_strong?
important:
required bug fix 63f1041f0e484e64dec437a0fa780ea2463abda2
not included in 1.65
Fusion:
MSVC 14.1 supports variadic containers, such as fusion::vector,
fusion::deque, fusion::map,
fusion::set, and fusion::tuple.
(#12986)
Geometry:
Improvements:
Add correct() overload taking area strategy
Add is_convex() overload taking side strategy
Add missing relational operations (covered_by, crosses, equals,
etc.) for MultiPoint/AnyGeometry
Solved issues:
12410
Lack of support of geographic coordinate system in correct()
13035
Wrong result of non-cartesian intersection strategies for segments
near poles.
13057
Wrong result of intersects() for linestrings caused by numerical
issue in disjoint() for boxes.
Bugfixes:
Fix is_valid which could return false for multipolygons where
an interior ring touches another interior ring
Fix is_valid which could return false for multipolygons where
a polygon was located in an interior ring, all touching each
other
Fix union which could produce invalid results (for some cases,
this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
Fix intersection (idem), but some cases are still not yet valid
Fix difference (idem), but some cases are still not yet valid
Fix propagation of area strategy into the internals of various
algorithms from intersection strategy
Fix uninitialized variable in relate and reference to temporary
in overlay
Fix error in disjoint for geographic Segment/Box
Fix handling of non-cartesian geometries in various algorithms
Hash:
Support for char16_t,
char32_t, u16string, u32string.
Log:
General changes:
Improved compatibility with Solaris.
See changelog
for more details.
Phoenix:
Corrected some documentation. (PR#50)
phoenix::erase with associative container
returns iterator in C++11 mode. (#7423)
std::set and std::multiset
should be worked with predefined lazy functions. (PR#52)
Disable phoenix::random_shuffle in C++17. (PR#53)
Don't forward declare, include instead. (#11875)
Predef:
Fix Intel C/C++ version 9999 detection to be 12.1.0.
Addition of BOOST_PREDEF_WORKAROUND
and BOOST_PREDEF_TESTED_AT
macros for defect workarounds and detection.
Add ARM64 MSVC SIMD detection. (from Minmin Gong)
Add detection of iOS simulator vs device as a platform choice. (from
Ruslan Baratov)
Fix MinGW incorrect header guard. (from Ruslan Baratov)
Program Options:
Support for storing values into boost::optional,
thanks to Ed Catmur (#7495,
PR#18)
Parsing of implicit options can now use the value from the next token.
Since 1.59, unless the value of implicit option was specified in
the same token as the option itself, the implicit value was used.
That proved inconvenient, and now we again check the next token and
use it as value if it's not an option itself. (#25)
Python:
eval(),
exec(),
and exec_statement() now allow char
const *
arguments, in addition to boost::python::str.
The boost::python::numeric API has been removed, as
it is being obsoleted by boost::python::numpy.
Fix some build issues when using Python3 with MSVC.
Smart Pointers:
New class templateatomic_shared_ptr,
that provides thread-safe atomic pointer operations over shared_ptr. (Peter Dimov)
New class template local_shared_ptr,
where the reference count is updated with non-atomic operations.
(Peter Dimov)
More optimizations in allocate_shared
and make_shared for
arrays. (Glen Fernandes)
Documentation has been completely rewritten in Asciidoc format.
Test:
Boost.test v3.6 see the Change
log section for more details.
New feature:
C++17 compatibility (tested on VS2017), thanks to Daniela
Engert
Direct comparison of C-arrays in BOOST_TEST
Better global fixtures mechanism, and spitting of responsibilities
with BOOST_TEST_GLOBAL_FIXTURE
for global fixtures and BOOST_TEST_GLOBAL_CONFIGURATION
for global initialization (compile time configuration).
Improved support for fixtures (setup
/ teardown
member function) which enables better teardown time checks
Breaking changes
Some API changes for the loggers
Deprecating BOOST_GLOBAL_FIXTURE
in favor of BOOST_TEST_GLOBAL_FIXTURE
and BOOST_TEST_GLOBAL_CONFIGURATION
(see above)
Bug fixes
Trac tickets #5282, #5563, #11471, #11962,
#12228
Trac tickets #12631, #13011
Pull request PR106
Thread:
Important Regression on Windows:
#130
windows: Bug in boost::condition_variable on Windows Please,
merge these two patches
https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657
https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d
Bug fixes
#6787
boost::thread::sleep() hangs if system time is rolled back
#12519
boost::thread::try_join_for does not return after timeout
#12874
future<> extension constructor must be under BOOST_THREAD_PROVIDES_FUTURE_UNWRAP
#12888
Linking with boost thread does not work on mingw/gcc 4.4
#12958
sync_bounded_queue::wait_pull_front( lve ) might throw
#13077
Linking to static 64bit libboost_thread fails DLL initialization
#13155
log doesn't build on a system with pthreads
#121
on_tls_prepare is broken under VS2017
TypeIndex:
Include if required, thanks to
Ed Catmur #13009.
Use native hash_code() when possible on GCC-like compilers
#13027.
Fix ctti_type_index
for GCC 7 and later, thanks to Benjamin Buch PR16.
Typeof:
Fix compilation error with clang-cl ticket
11821.
Unordered:
Use the same data structure for unordered_set
and unordered_multiset,
and forunordered_map
and unordered_multimap.
This is required for C++17, so that nodes can be merged and extracted
between compatible containers.
Add deprecated attributes to long deprecated functions.
Improved use of allocator_traits
construct and destroy on C++11 compilers, using
piecewise pair construction when appropriate.
Fewer workarounds on newer Oracle compilers.
Avoid dereferencing pointers to uninitialized memory (PR
#5).
Utility:
Improved compatibility of boost::next/boost::prior with SFINAE-unfriendly iterators.
#10847, #13002.
Variant:
r-value overload for boost::get
was added by Albert Sverdlov #13018.
Missing include fro <boost/variant/polymorphic_get.hpp>
header was added by Adam Badura #13037.
boost::make_variant_over was fixed and
now works with views and other Forward Sequences (thanks to Mikhail
Maksimov for the fix) #8554, #10041, PR#35.
Compilers Tested
Boost's primary test compilers are:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 16.0, 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
QNX:
QCC, C++11: 4.7.3
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Boost's additional test compilers include:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Clang, C++1z: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 8 years
ago
Known Issues
These are patches from library authors which were found too late to be fixed
in the release. Be careful as they have not been through the normal testing
process.
Combined patch for fixes
... [More]
to issues: boost_1_65_0.patch.
Use patch -p1 < boost_1_65_0.patch from the root of the boost repo to
apply. Or you can apply the patches individually below.
Context and Fiber don't return continuations when they should:
Context
patch
Fiber
patch
Thread: Bug in boost::condition_variable on Windows:
Thread
patch 1
Thread
patch 2
New Libraries
PolyCollection:
Fast
containers of polymorphic objects, from Joaquín M López Muñoz.
Stacktrace:
Gather, store,
copy and print backtraces, from Antony Polukhin.
Note: Library has issue
with MinGW and may produce empty backtraces with that compiler.
Removed Libraries
TR1
Updated Libraries
Asio:
Changed to require g++ versions >= 4.7 to use
standard atomics, to fix a linker error when using g++
4.6 (#13121).
Enabled use of constexpr
and variadic templates with recent MSVC versions.
Fixed a race condition in the Linux epoll backend, which may occur
when a socket or descriptor is closed while another thread is blocked
on epoll.
Eliminated use of deprecated auto_ptr.
Fixed misplaced use of asio_handler_is_continuation
result in reactive async_accept
implementation.
Changed to use poll.h
rather than sys/poll.h on some modern POSIX platforms
(#12419).
Fixed MSVC intellisense detection.
Disabled use of the __thread
keyword extension for android/clang/x86 targets.
Context:
Improvements:
call/cc supports ucontext-API (swapcontext)
call/cc supports Windows-Fiber-API
call/cc supports on demand growing (segmented/split) stacks
Bugfixes:
#12719: context test cases and examples segmentation fault
when built with mingw-w64 toolchain
#52: Failing to build callcc test with g++-4.9
important:
required bug fix 420554fe9ac01482990e8ae314f4f7ba81010c9a
not included in 1.65
Config:
Added BOOST_NO_CXX11_POINTER_TRAITS,
BOOST_NO_CXX17_FOLD_EXPRESSIONS,
BOOST_NO_CXX17_INLINE_VARIABLES,
BOOST_NO_CXX17_STRUCTURED_BINDINGS
defect detection.
BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
Core:
Implemented pointer_traits
for C++03 and higher, that implements P0653r0
(Glen Fernandes). This implementation is now used by Align, Circular
Buffer, Fiber, Geometry, among other libraries.
Added BOOST_TEST_GT
and BOOST_TEST_GE
to Lightweight Test.
Coroutine2:
supports ucontext-API (swapcontext)
supports Windows-Fiber-API
#13064: different behavior coroutine and coroutine2
DLL:
Fix PE parsing on non Windows platforms.
Fiber:
Improvements:
hardware transactional memory (Intel TSX) supported
NUMA supported
ucontext-API (swapcontext) supported
Windows-Fiber-API supported
on demand growing stacks
Bugfixes:
#121: failing to build static lib with GCC 4.8 and C++11
#123: assertion failure in schedule_from_remote
#125: erratic crashes in testsuite
#126: incorrect std::memory_order value in compare_exchange_strong?
important:
required bug fix 63f1041f0e484e64dec437a0fa780ea2463abda2
not included in 1.65
Fusion:
MSVC 14.1 supports variadic containers, such as fusion::vector,
fusion::deque, fusion::map,
fusion::set, and fusion::tuple.
(#12986)
Geometry:
Improvements:
Add correct() overload taking area strategy
Add is_convex() overload taking side strategy
Add missing relational operations (covered_by, crosses, equals,
etc.) for MultiPoint/AnyGeometry
Solved issues:
12410
Lack of support of geographic coordinate system in correct()
13035
Wrong result of non-cartesian intersection strategies for segments
near poles.
13057
Wrong result of intersects() for linestrings caused by numerical
issue in disjoint() for boxes.
Bugfixes:
Fix is_valid which could return false for multipolygons where
an interior ring touches another interior ring
Fix is_valid which could return false for multipolygons where
a polygon was located in an interior ring, all touching each
other
Fix union which could produce invalid results (for some cases,
this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
Fix intersection (idem), but some cases are still not yet valid
Fix difference (idem), but some cases are still not yet valid
Fix propagation of area strategy into the internals of various
algorithms from intersection strategy
Fix uninitialized variable in relate and reference to temporary
in overlay
Fix error in disjoint for geographic Segment/Box
Fix handling of non-cartesian geometries in various algorithms
Hash:
Support for char16_t,
char32_t, u16string, u32string.
Log:
General changes:
Improved compatibility with Solaris.
See changelog
for more details.
Phoenix:
Corrected some documentation. (PR#50)
phoenix::erase with associative container
returns iterator in C++11 mode. (#7423)
std::set and std::multiset
should be worked with predefined lazy functions. (PR#52)
Disable phoenix::random_shuffle in C++17. (PR#53)
Don't forward declare, include instead. (#11875)
Predef:
Fix Intel C/C++ version 9999 detection to be 12.1.0.
Addition of BOOST_PREDEF_WORKAROUND
and BOOST_PREDEF_TESTED_AT
macros for defect workarounds and detection.
Add ARM64 MSVC SIMD detection. (from Minmin Gong)
Add detection of iOS simulator vs device as a platform choice. (from
Ruslan Baratov)
Fix MinGW incorrect header guard. (from Ruslan Baratov)
Program Options:
Support for storing values into boost::optional,
thanks to Ed Catmur (#7495,
PR#18)
Parsing of implicit options can now use the value from the next token.
Since 1.59, unless the value of implicit option was specified in
the same token as the option itself, the implicit value was used.
That proved inconvenient, and now we again check the next token and
use it as value if it's not an option itself. (#25)
Python:
eval(),
exec(),
and exec_statement() now allow char
const *
arguments, in addition to boost::python::str.
The boost::python::numeric API has been removed, as
it is being obsoleted by boost::python::numpy.
Fix some build issues when using Python3 with MSVC.
Smart Pointers:
New class templateatomic_shared_ptr,
that provides thread-safe atomic pointer operations over shared_ptr. (Peter Dimov)
New class template local_shared_ptr,
where the reference count is updated with non-atomic operations.
(Peter Dimov)
More optimizations in allocate_shared
and make_shared for
arrays. (Glen Fernandes)
Documentation has been completely rewritten in Asciidoc format.
Test:
Boost.test v3.6 see the Change
log section for more details.
New feature:
C++17 compatibility (tested on VS2017), thanks to Daniela
Engert
Direct comparison of C-arrays in BOOST_TEST
Better global fixtures mechanism, and spitting of responsibilities
with BOOST_TEST_GLOBAL_FIXTURE
for global fixtures and BOOST_TEST_GLOBAL_CONFIGURATION
for global initialization (compile time configuration).
Improved support for fixtures (setup
/ teardown
member function) which enables better teardown time checks
Breaking changes
Some API changes for the loggers
Deprecating BOOST_GLOBAL_FIXTURE
in favor of BOOST_TEST_GLOBAL_FIXTURE
and BOOST_TEST_GLOBAL_CONFIGURATION
(see above)
Bug fixes
Trac tickets #5282, #5563, #11471, #11962,
#12228
Trac tickets #12631, #13011
Pull request PR106
Thread:
Important Regression on Windows:
#130
windows: Bug in boost::condition_variable on Windows Please,
merge these two patches
https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657
https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d
Bug fixes
#6787
boost::thread::sleep() hangs if system time is rolled back
#12519
boost::thread::try_join_for does not return after timeout
#12874
future<> extension constructor must be under BOOST_THREAD_PROVIDES_FUTURE_UNWRAP
#12888
Linking with boost thread does not work on mingw/gcc 4.4
#12958
sync_bounded_queue::wait_pull_front( lve ) might throw
#13077
Linking to static 64bit libboost_thread fails DLL initialization
#13155
log doesn't build on a system with pthreads
#121
on_tls_prepare is broken under VS2017
TypeIndex:
Include if required, thanks to
Ed Catmur #13009.
Use native hash_code() when possible on GCC-like compilers
#13027.
Fix ctti_type_index
for GCC 7 and later, thanks to Benjamin Buch PR16.
Typeof:
Fix compilation error with clang-cl ticket
11821.
Unordered:
Use the same data structure for unordered_set
and unordered_multiset,
and forunordered_map
and unordered_multimap.
This is required for C++17, so that nodes can be merged and extracted
between compatible containers.
Add deprecated attributes to long deprecated functions.
Improved use of allocator_traits
construct and destroy on C++11 compilers, using
piecewise pair construction when appropriate.
Fewer workarounds on newer Oracle compilers.
Avoid dereferencing pointers to uninitialized memory (PR
#5).
Utility:
Improved compatibility of boost::next/boost::prior with SFINAE-unfriendly iterators.
#10847, #13002.
Variant:
r-value overload for boost::get
was added by Albert Sverdlov #13018.
Missing include fro <boost/variant/polymorphic_get.hpp>
header was added by Adam Badura #13037.
boost::make_variant_over was fixed and
now works with views and other Forward Sequences (thanks to Mikhail
Maksimov for the fix) #8554, #10041, PR#35.
Compilers Tested
Boost's primary test compilers are:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 16.0, 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
QNX:
QCC, C++11: 4.7.3
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Boost's additional test compilers include:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Clang, C++1z: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 8 years
ago
Known Issues
These are patches from library authors which were found too late to be fixed
in the release. Be careful as they have not been through the normal testing
process.
Combined patch for fixes
... [More]
to issues: boost_1_65_0.patch.
Use patch -p1 < boost_1_65_0.patch from the root of the boost repo to
apply. Or you can apply the patches individually below.
Context and Fiber don't return continuations when they should:
Context
patch
Fiber
patch
Thread: Bug in boost::condition_variable on Windows:
Thread
patch 1
Thread
patch 2
New Libraries
PolyCollection:
Fast
containers of polymorphic objects, from Joaquín M López Muñoz.
Stacktrace:
Gather, store,
copy and print backtraces, from Antony Polukhin.
Note: Library has issue
with MinGW and may produce empty backtraces with that compiler.
Removed Libraries
TR1
Updated Libraries
Asio:
Changed to require g++ versions >= 4.7 to use
standard atomics, to fix a linker error when using g++
4.6 (#13121).
Enabled use of constexpr
and variadic templates with recent MSVC versions.
Fixed a race condition in the Linux epoll backend, which may occur
when a socket or descriptor is closed while another thread is blocked
on epoll.
Eliminated use of deprecated auto_ptr.
Fixed misplaced use of asio_handler_is_continuation
result in reactive async_accept
implementation.
Changed to use poll.h
rather than sys/poll.h on some modern POSIX platforms
(#12419).
Fixed MSVC intellisense detection.
Disabled use of the __thread
keyword extension for android/clang/x86 targets.
Context:
Improvements:
call/cc supports ucontext-API (swapcontext)
call/cc supports Windows-Fiber-API
call/cc supports on demand growing (segmented/split) stacks
Bugfixes:
#12719: context test cases and examples segmentation fault
when built with mingw-w64 toolchain
#52: Failing to build callcc test with g++-4.9
important:
required bug fix 420554fe9ac01482990e8ae314f4f7ba81010c9a
not included in 1.65
Config:
Added BOOST_NO_CXX11_POINTER_TRAITS,
BOOST_NO_CXX17_FOLD_EXPRESSIONS,
BOOST_NO_CXX17_INLINE_VARIABLES,
BOOST_NO_CXX17_STRUCTURED_BINDINGS
defect detection.
BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
Core:
Implemented pointer_traits
for C++03 and higher, that implements P0653r0
(Glen Fernandes). This implementation is now used by Align, Circular
Buffer, Fiber, Geometry, among other libraries.
Added BOOST_TEST_GT
and BOOST_TEST_GE
to Lightweight Test.
Coroutine2:
supports ucontext-API (swapcontext)
supports Windows-Fiber-API
#13064: different behavior coroutine and coroutine2
DLL:
Fix PE parsing on non Windows platforms.
Fiber:
Improvements:
hardware transactional memory (Intel TSX) supported
NUMA supported
ucontext-API (swapcontext) supported
Windows-Fiber-API supported
on demand growing stacks
Bugfixes:
#121: failing to build static lib with GCC 4.8 and C++11
#123: assertion failure in schedule_from_remote
#125: erratic crashes in testsuite
#126: incorrect std::memory_order value in compare_exchange_strong?
important:
required bug fix 63f1041f0e484e64dec437a0fa780ea2463abda2
not included in 1.65
Fusion:
MSVC 14.1 supports variadic containers, such as fusion::vector,
fusion::deque, fusion::map,
fusion::set, and fusion::tuple.
(#12986)
Geometry:
Improvements:
Add correct() overload taking area strategy
Add is_convex() overload taking side strategy
Add missing relational operations (covered_by, crosses, equals,
etc.) for MultiPoint/AnyGeometry
Solved issues:
12410
Lack of support of geographic coordinate system in correct()
13035
Wrong result of non-cartesian intersection strategies for segments
near poles.
13057
Wrong result of intersects() for linestrings caused by numerical
issue in disjoint() for boxes.
Bugfixes:
Fix is_valid which could return false for multipolygons where
an interior ring touches another interior ring
Fix is_valid which could return false for multipolygons where
a polygon was located in an interior ring, all touching each
other
Fix union which could produce invalid results (for some cases,
this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
Fix intersection (idem), but some cases are still not yet valid
Fix difference (idem), but some cases are still not yet valid
Fix propagation of area strategy into the internals of various
algorithms from intersection strategy
Fix uninitialized variable in relate and reference to temporary
in overlay
Fix error in disjoint for geographic Segment/Box
Fix handling of non-cartesian geometries in various algorithms
Hash:
Support for char16_t,
char32_t, u16string, u32string.
Log:
General changes:
Improved compatibility with Solaris.
See changelog
for more details.
Phoenix:
Corrected some documentation. (PR#50)
phoenix::erase with associative container
returns iterator in C++11 mode. (#7423)
std::set and std::multiset
should be worked with predefined lazy functions. (PR#52)
Disable phoenix::random_shuffle in C++17. (PR#53)
Don't forward declare, include instead. (#11875)
Predef:
Fix Intel C/C++ version 9999 detection to be 12.1.0.
Addition of BOOST_PREDEF_WORKAROUND
and BOOST_PREDEF_TESTED_AT
macros for defect workarounds and detection.
Add ARM64 MSVC SIMD detection. (from Minmin Gong)
Add detection of iOS simulator vs device as a platform choice. (from
Ruslan Baratov)
Fix MinGW incorrect header guard. (from Ruslan Baratov)
Program Options:
Support for storing values into boost::optional,
thanks to Ed Catmur (#7495,
PR#18)
Parsing of implicit options can now use the value from the next token.
Since 1.59, unless the value of implicit option was specified in
the same token as the option itself, the implicit value was used.
That proved inconvenient, and now we again check the next token and
use it as value if it's not an option itself. (#25)
Python:
eval(),
exec(),
and exec_statement() now allow char
const *
arguments, in addition to boost::python::str.
The boost::python::numeric API has been removed, as
it is being obsoleted by boost::python::numpy.
Fix some build issues when using Python3 with MSVC.
Smart Pointers:
New class templateatomic_shared_ptr,
that provides thread-safe atomic pointer operations over shared_ptr. (Peter Dimov)
New class template local_shared_ptr,
where the reference count is updated with non-atomic operations.
(Peter Dimov)
More optimizations in allocate_shared
and make_shared for
arrays. (Glen Fernandes)
Documentation has been completely rewritten in Asciidoc format.
Test:
Boost.test v3.6 see the Change
log section for more details.
New feature:
C++17 compatibility (tested on VS2017), thanks to Daniela
Engert
Direct comparison of C-arrays in BOOST_TEST
Better global fixtures mechanism, and spitting of responsibilities
with BOOST_TEST_GLOBAL_FIXTURE
for global fixtures and BOOST_TEST_GLOBAL_CONFIGURATION
for global initialization (compile time configuration).
Improved support for fixtures (setup
/ teardown
member function) which enables better teardown time checks
Breaking changes
Some API changes for the loggers
Deprecating BOOST_GLOBAL_FIXTURE
in favor of BOOST_TEST_GLOBAL_FIXTURE
and BOOST_TEST_GLOBAL_CONFIGURATION
(see above)
Bug fixes
Trac tickets #5282, #5563, #11471, #11962,
#12228
Trac tickets #12631, #13011
Pull request PR106
Thread:
Important Regression on Windows:
#130
windows: Bug in boost::condition_variable on Windows Please,
merge these two patches
https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657
https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d
Bug fixes
#6787
boost::thread::sleep() hangs if system time is rolled back
#12519
boost::thread::try_join_for does not return after timeout
#12874
future<> extension constructor must be under BOOST_THREAD_PROVIDES_FUTURE_UNWRAP
#12888
Linking with boost thread does not work on mingw/gcc 4.4
#12958
sync_bounded_queue::wait_pull_front( lve ) might throw
#13077
Linking to static 64bit libboost_thread fails DLL initialization
#13155
log doesn't build on a system with pthreads
#121
on_tls_prepare is broken under VS2017
TypeIndex:
Include if required, thanks to
Ed Catmur #13009.
Use native hash_code() when possible on GCC-like compilers
#13027.
Fix ctti_type_index
for GCC 7 and later, thanks to Benjamin Buch PR16.
Typeof:
Fix compilation error with clang-cl ticket
11821.
Unordered:
Use the same data structure for unordered_set
and unordered_multiset,
and forunordered_map
and unordered_multimap.
This is required for C++17, so that nodes can be merged and extracted
between compatible containers.
Add deprecated attributes to long deprecated functions.
Improved use of allocator_traits
construct and destroy on C++11 compilers, using
piecewise pair construction when appropriate.
Fewer workarounds on newer Oracle compilers.
Avoid dereferencing pointers to uninitialized memory (PR
#5).
Utility:
Improved compatibility of boost::next/boost::prior with SFINAE-unfriendly iterators.
#10847, #13002.
Variant:
r-value overload for boost::get
was added by Albert Sverdlov #13018.
Missing include fro <boost/variant/polymorphic_get.hpp>
header was added by Adam Badura #13037.
boost::make_variant_over was fixed and
now works with views and other Forward Sequences (thanks to Mikhail
Maksimov for the fix) #8554, #10041, PR#35.
Compilers Tested
Boost's primary test compilers are:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 16.0, 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
QNX:
QCC, C++11: 4.7.3
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Boost's additional test compilers include:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Clang, C++1z: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 8 years
ago
Known Issues
These are patches from library authors which were found too late to be fixed
in the release. Be careful as they have not been through the normal testing
process.
Combined patch for fixes
... [More]
to issues: boost_1_65_0.patch.
Use patch -p1 < boost_1_65_0.patch from the root of the boost repo to
apply. Or you can apply the patches individually below.
Context and Fiber don't return continuations when they should:
Context
patch
Fiber
patch
Thread: Bug in boost::condition_variable on Windows:
Thread
patch 1
Thread
patch 2
New Libraries
PolyCollection:
Fast
containers of polymorphic objects, from Joaquín M López Muñoz.
Stacktrace:
Gather, store,
copy and print backtraces, from Antony Polukhin.
Note: Library has issue
with MinGW and may produce empty backtraces with that compiler.
Updated Libraries
Asio:
Changed to require g++ versions >= 4.7 to use
standard atomics, to fix a linker error when using g++
4.6 (#13121).
Enabled use of constexpr
and variadic templates with recent MSVC versions.
Fixed a race condition in the Linux epoll backend, which may occur
when a socket or descriptor is closed while another thread is blocked
on epoll.
Eliminated use of deprecated auto_ptr.
Fixed misplaced use of asio_handler_is_continuation
result in reactive async_accept
implementation.
Changed to use poll.h
rather than sys/poll.h on some modern POSIX platforms
(#12419).
Fixed MSVC intellisense detection.
Disabled use of the __thread
keyword extension for android/clang/x86 targets.
Context:
Improvements:
call/cc supports ucontext-API (swapcontext)
call/cc supports Windows-Fiber-API
call/cc supports on demand growing (segmented/split) stacks
Bugfixes:
#12719: context test cases and examples segmentation fault
when built with mingw-w64 toolchain
#52: Failing to build callcc test with g++-4.9
important:
required bug fix 420554fe9ac01482990e8ae314f4f7ba81010c9a
not included in 1.65
Config:
Added BOOST_NO_CXX11_POINTER_TRAITS,
BOOST_NO_CXX17_FOLD_EXPRESSIONS,
BOOST_NO_CXX17_INLINE_VARIABLES,
BOOST_NO_CXX17_STRUCTURED_BINDINGS
defect detection.
BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
Core:
Implemented pointer_traits
for C++03 and higher, that implements P0653r0
(Glen Fernandes). This implementation is now used by Align, Circular
Buffer, Fiber, Geometry, among other libraries.
Added BOOST_TEST_GT
and BOOST_TEST_GE
to Lightweight Test.
Coroutine2:
supports ucontext-API (swapcontext)
supports Windows-Fiber-API
#13064: different behavior coroutine and coroutine2
DLL:
Fix PE parsing on non Windows platforms.
Fiber:
Improvements:
hardware transactional memory (Intel TSX) supported
NUMA supported
ucontext-API (swapcontext) supported
Windows-Fiber-API supported
on demand growing stacks
Bugfixes:
#121: failing to build static lib with GCC 4.8 and C++11
#123: assertion failure in schedule_from_remote
#125: erratic crashes in testsuite
#126: incorrect std::memory_order value in compare_exchange_strong?
important:
required bug fix 63f1041f0e484e64dec437a0fa780ea2463abda2
not included in 1.65
Fusion:
MSVC 14.1 supports variadic containers, such as fusion::vector,
fusion::deque, fusion::map,
fusion::set, and fusion::tuple.
(#12986)
Geometry:
Improvements:
Add correct() overload taking area strategy
Add is_convex() overload taking side strategy
Add missing relational operations (covered_by, crosses, equals,
etc.) for MultiPoint/AnyGeometry
Solved issues:
12410
Lack of support of geographic coordinate system in correct()
13035
Wrong result of non-cartesian intersection strategies for segments
near poles.
13057
Wrong result of intersects() for linestrings caused by numerical
issue in disjoint() for boxes.
Bugfixes:
Fix is_valid which could return false for multipolygons where
an interior ring touches another interior ring
Fix is_valid which could return false for multipolygons where
a polygon was located in an interior ring, all touching each
other
Fix union which could produce invalid results (for some cases,
this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
Fix intersection (idem), but some cases are still not yet valid
Fix difference (idem), but some cases are still not yet valid
Fix propagation of area strategy into the internals of various
algorithms from intersection strategy
Fix uninitialized variable in relate and reference to temporary
in overlay
Fix error in disjoint for geographic Segment/Box
Fix handling of non-cartesian geometries in various algorithms
Hash:
Support for char16_t,
char32_t, u16string, u32string.
Log:
General changes:
Improved compatibility with Solaris.
See changelog
for more details.
Phoenix:
Corrected some documentation. (PR#50)
phoenix::erase with associative container
returns iterator in C++11 mode. (#7423)
std::set and std::multiset
should be worked with predefined lazy functions. (PR#52)
Disable phoenix::random_shuffle in C++17. (PR#53)
Don't forward declare, include instead. (#11875)
Predef:
Fix Intel C/C++ version 9999 detection to be 12.1.0.
Addition of BOOST_PREDEF_WORKAROUND
and BOOST_PREDEF_TESTED_AT
macros for defect workarounds and detection.
Add ARM64 MSVC SIMD detection. (from Minmin Gong)
Add detection of iOS simulator vs device as a platform choice. (from
Ruslan Baratov)
Fix MinGW incorrect header guard. (from Ruslan Baratov)
Program Options:
Support for storing values into boost::optional,
thanks to Ed Catmur (#7495,
PR#18)
Parsing of implicit options can now use the value from the next token.
Since 1.59, unless the value of implicit option was specified in
the same token as the option itself, the implicit value was used.
That proved inconvenient, and now we again check the next token and
use it as value if it's not an option itself. (#25)
Python:
eval(),
exec(),
and exec_statement() now allow char
const *
arguments, in addition to boost::python::str.
The boost::python::numeric API has been removed, as
it is being obsoleted by boost::python::numpy.
Fix some build issues when using Python3 with MSVC.
Smart Pointers:
New class templateatomic_shared_ptr,
that provides thread-safe atomic pointer operations over shared_ptr. (Peter Dimov)
New class template local_shared_ptr,
where the reference count is updated with non-atomic operations.
(Peter Dimov)
More optimizations in allocate_shared
and make_shared for
arrays. (Glen Fernandes)
Documentation has been completely rewritten in Asciidoc format.
Test:
Boost.test v3.6 see the Change
log section for more details.
New feature:
C++17 compatibility (tested on VS2017), thanks to Daniela
Engert
Direct comparison of C-arrays in BOOST_TEST
Better global fixtures mechanism, and spitting of responsibilities
with BOOST_TEST_GLOBAL_FIXTURE
for global fixtures and BOOST_TEST_GLOBAL_CONFIGURATION
for global initialization (compile time configuration).
Improved support for fixtures (setup
/ teardown
member function) which enables better teardown time checks
Breaking changes
Some API changes for the loggers
Deprecating BOOST_GLOBAL_FIXTURE
in favor of BOOST_TEST_GLOBAL_FIXTURE
and BOOST_TEST_GLOBAL_CONFIGURATION
(see above)
Bug fixes
Trac tickets #5282, #5563, #11471, #11962,
#12228
Trac tickets #12631, #13011
Pull request PR106
Thread:
Important Regression on Windows:
#130
windows: Bug in boost::condition_variable on Windows Please,
merge these two patches
https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657
https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d
Bug fixes
#6787
boost::thread::sleep() hangs if system time is rolled back
#12519
boost::thread::try_join_for does not return after timeout
#12874
future<> extension constructor must be under BOOST_THREAD_PROVIDES_FUTURE_UNWRAP
#12888
Linking with boost thread does not work on mingw/gcc 4.4
#12958
sync_bounded_queue::wait_pull_front( lve ) might throw
#13077
Linking to static 64bit libboost_thread fails DLL initialization
#13155
log doesn't build on a system with pthreads
#121
on_tls_prepare is broken under VS2017
TypeIndex:
Include if required, thanks to
Ed Catmur #13009.
Use native hash_code() when possible on GCC-like compilers
#13027.
Fix ctti_type_index
for GCC 7 and later, thanks to Benjamin Buch PR16.
Typeof:
Fix compilation error with clang-cl ticket
11821.
Unordered:
Use the same data structure for unordered_set
and unordered_multiset,
and forunordered_map
and unordered_multimap.
This is required for C++17, so that nodes can be merged and extracted
between compatible containers.
Add deprecated attributes to long deprecated functions.
Improved use of allocator_traits
construct and destroy on C++11 compilers, using
piecewise pair construction when appropriate.
Fewer workarounds on newer Oracle compilers.
Avoid dereferencing pointers to uninitialized memory (PR
#5).
Utility:
Improved compatibility of boost::next/boost::prior with SFINAE-unfriendly iterators.
#10847, #13002.
Variant:
r-value overload for boost::get
was added by Albert Sverdlov #13018.
Missing include fro <boost/variant/polymorphic_get.hpp>
header was added by Adam Badura #13037.
boost::make_variant_over was fixed and
now works with views and other Forward Sequences (thanks to Mikhail
Maksimov for the fix) #8554, #10041, PR#35.
Compilers Tested
Boost's primary test compilers are:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 16.0, 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
QNX:
QCC, C++11: 4.7.3
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Boost's additional test compilers include:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Clang, C++1z: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 8 years
ago
Known Issues
These are patches from library authors which were found too late to be fixed
in the release. Be careful as they have not been through the normal testing
process.
Combined patch for fixes
... [More]
to issues: boost_1_65_0.patch.
Use patch -p1 < boost_1_65_0.patch from the root of the boost repo to
apply. Or you can apply the patches individually below.
Context and Fiber don't return continuations when they should:
Context
patch
Fiber
patch
Thread: Bug in boost::condition_variable on Windows:
Thread
patch 1
Thread
patch 2
New Libraries
PolyCollection:
Fast
containers of polymorphic objects, from Joaquín M López Muñoz.
Stacktrace:
Gather, store,
copy and print backtraces, from Antony Polukhin.
Note: Library has issue
with MinGW and may produce empty backtraces with that compiler.
Updated Libraries
Asio:
Changed to require g++ versions >= 4.7 to use
standard atomics, to fix a linker error when using g++
4.6 (#13121).
Enabled use of constexpr
and variadic templates with recent MSVC versions.
Fixed a race condition in the Linux epoll backend, which may occur
when a socket or descriptor is closed while another thread is blocked
on epoll.
Eliminated use of deprecated auto_ptr.
Fixed misplaced use of asio_handler_is_continuation
result in reactive async_accept
implementation.
Changed to use poll.h
rather than sys/poll.h on some modern POSIX platforms
(#12419).
Fixed MSVC intellisense detection.
Disabled use of the __thread
keyword extension for android/clang/x86 targets.
Context:
Improvements:
call/cc supports ucontext-API (swapcontext)
call/cc supports Windows-Fiber-API
call/cc supports on demand growing (segmented/split) stacks
Bugfixes:
#12719: context test cases and examples segmentation fault
when built with mingw-w64 toolchain
#52: Failing to build callcc test with g++-4.9
important:
required bug fix 420554fe9ac01482990e8ae314f4f7ba81010c9a
not included in 1.65
Config:
Added BOOST_NO_CXX11_POINTER_TRAITS,
BOOST_NO_CXX17_FOLD_EXPRESSIONS,
BOOST_NO_CXX17_INLINE_VARIABLES,
BOOST_NO_CXX17_STRUCTURED_BINDINGS
defect detection.
BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
Core:
Implemented pointer_traits
for C++03 and higher, that implements P0653r0
(Glen Fernandes). This implementation is now used by Align, Circular
Buffer, Fiber, Geometry, among other libraries.
Added BOOST_TEST_GT
and BOOST_TEST_GE
to Lightweight Test.
Coroutine2:
supports ucontext-API (swapcontext)
supports Windows-Fiber-API
#13064: different behavior coroutine and coroutine2
DLL:
Fix PE parsing on non Windows platforms.
Fiber:
Improvements:
hardware transactional memory (Intel TSX) supported
NUMA supported
ucontext-API (swapcontext) supported
Windows-Fiber-API supported
on demand growing stacks
Bugfixes:
#121: failing to build static lib with GCC 4.8 and C++11
#123: assertion failure in schedule_from_remote
#125: erratic crashes in testsuite
#126: incorrect std::memory_order value in compare_exchange_strong?
important:
required bug fix 63f1041f0e484e64dec437a0fa780ea2463abda2
not included in 1.65
Fusion:
MSVC 14.1 supports variadic containers, such as fusion::vector,
fusion::deque, fusion::map,
fusion::set, and fusion::tuple.
(#12986)
Geometry:
Improvements:
Add correct() overload taking area strategy
Add is_convex() overload taking side strategy
Add missing relational operations (covered_by, crosses, equals,
etc.) for MultiPoint/AnyGeometry
Solved issues:
12410
Lack of support of geographic coordinate system in correct()
13035
Wrong result of non-cartesian intersection strategies for segments
near poles.
13057
Wrong result of intersects() for linestrings caused by numerical
issue in disjoint() for boxes.
Bugfixes:
Fix is_valid which could return false for multipolygons where
an interior ring touches another interior ring
Fix is_valid which could return false for multipolygons where
a polygon was located in an interior ring, all touching each
other
Fix union which could produce invalid results (for some cases,
this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
Fix intersection (idem), but some cases are still not yet valid
Fix difference (idem), but some cases are still not yet valid
Fix propagation of area strategy into the internals of various
algorithms from intersection strategy
Fix uninitialized variable in relate and reference to temporary
in overlay
Fix error in disjoint for geographic Segment/Box
Fix handling of non-cartesian geometries in various algorithms
Hash:
Support for char16_t,
char32_t, u16string, u32string.
Log:
General changes:
Improved compatibility with Solaris.
See changelog
for more details.
Phoenix:
Corrected some documentation. (PR#50)
phoenix::erase with associative container
returns iterator in C++11 mode. (#7423)
std::set and std::multiset
should be worked with predefined lazy functions. (PR#52)
Disable phoenix::random_shuffle in C++17. (PR#53)
Don't forward declare, include instead. (#11875)
Predef:
Fix Intel C/C++ version 9999 detection to be 12.1.0.
Addition of BOOST_PREDEF_WORKAROUND
and BOOST_PREDEF_TESTED_AT
macros for defect workarounds and detection.
Add ARM64 MSVC SIMD detection. (from Minmin Gong)
Add detection of iOS simulator vs device as a platform choice. (from
Ruslan Baratov)
Fix MinGW incorrect header guard. (from Ruslan Baratov)
Program Options:
Support for storing values into boost::optional,
thanks to Ed Catmur (#7495,
PR#18)
Parsing of implicit options can now use the value from the next token.
Since 1.59, unless the value of implicit option was specified in
the same token as the option itself, the implicit value was used.
That proved inconvenient, and now we again check the next token and
use it as value if it's not an option itself. (#25)
Python:
eval(),
exec(),
and exec_statement() now allow char
const *
arguments, in addition to boost::python::str.
The boost::python::numeric API has been removed, as
it is being obsoleted by boost::python::numpy.
Fix some build issues when using Python3 with MSVC.
Smart Pointers:
New class templateatomic_shared_ptr,
that provides thread-safe atomic pointer operations over shared_ptr. (Peter Dimov)
New class template local_shared_ptr,
where the reference count is updated with non-atomic operations.
(Peter Dimov)
More optimizations in allocate_shared
and make_shared for
arrays. (Glen Fernandes)
Documentation has been completely rewritten in Asciidoc format.
Test:
Boost.test v3.6 see the Change
log section for more details.
New feature:
C++17 compatibility (tested on VS2017), thanks to Daniela
Engert
Direct comparison of C-arrays in BOOST_TEST
Better global fixtures mechanism, and spitting of responsibilities
with BOOST_TEST_GLOBAL_FIXTURE
for global fixtures and BOOST_TEST_GLOBAL_CONFIGURATION
for global initialization (compile time configuration).
Improved support for fixtures (setup
/ teardown
member function) which enables better teardown time checks
Breaking changes
Some API changes for the loggers
Deprecating BOOST_GLOBAL_FIXTURE
in favor of BOOST_TEST_GLOBAL_FIXTURE
and BOOST_TEST_GLOBAL_CONFIGURATION
(see above)
Bug fixes
Trac tickets #5282, #5563, #11471, #11962,
#12228
Trac tickets #12631, #13011
Pull request PR106
Thread:
Important Regression on Windows:
#130
windows: Bug in boost::condition_variable on Windows Please,
merge these two patches
https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657
https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d
Bug fixes
#6787
boost::thread::sleep() hangs if system time is rolled back
#12519
boost::thread::try_join_for does not return after timeout
#12874
future<> extension constructor must be under BOOST_THREAD_PROVIDES_FUTURE_UNWRAP
#12888
Linking with boost thread does not work on mingw/gcc 4.4
#12958
sync_bounded_queue::wait_pull_front( lve ) might throw
#13077
Linking to static 64bit libboost_thread fails DLL initialization
#13155
log doesn't build on a system with pthreads
#121
on_tls_prepare is broken under VS2017
TypeIndex:
Include if required, thanks to
Ed Catmur #13009.
Use native hash_code() when possible on GCC-like compilers
#13027.
Fix ctti_type_index
for GCC 7 and later, thanks to Benjamin Buch PR16.
Unordered:
Use the same data structure for unordered_set
and unordered_multiset,
and forunordered_map
and unordered_multimap.
This is required for C++17, so that nodes can be merged and extracted
between compatible containers.
Add deprecated attributes to long deprecated functions.
Improved use of allocator_traits
construct and destroy on C++11 compilers, using
piecewise pair construction when appropriate.
Fewer workarounds on newer Oracle compilers.
Avoid dereferencing pointers to uninitialized memory (PR
#5).
Utility:
Improved compatibility of boost::next/boost::prior with SFINAE-unfriendly iterators.
#10847, #13002.
Variant:
r-value overload for boost::get
was added by Albert Sverdlov #13018.
Missing include fro <boost/variant/polymorphic_get.hpp>
header was added by Adam Badura #13037.
boost::make_variant_over was fixed and
now works with views and other Forward Sequences (thanks to Mikhail
Maksimov for the fix) #8554, #10041, PR#35.
Compilers Tested
Boost's primary test compilers are:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 16.0, 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
QNX:
QCC, C++11: 4.7.3
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Boost's additional test compilers include:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Clang, C++1z: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 8 years
ago
Known Issues
These are patches from library authors which were found too late to be fixed
in the release. Be careful as they have not been through the normal testing
process.
Combined patch for fixes
... [More]
to issues: boost_1_65_0.patch.
Use patch -p1 < boost_1_65_0.patch from the root of the boost repo to
apply. Or you can apply the patches individually below.
Context and Fiber don't return continuations when they should:
Context
patch
Fiber
patch
Thread: Bug in boost::condition_variable on Windows:
Thread
patch 1
Thread
patch 2
New Libraries
PolyCollection:
Fast
containers of polymorphic objects, from Joaquín M López Muñoz.
Stacktrace:
Gather, store,
copy and print backtraces, from Antony Polukhin.
Note: Library has issue
with MinGW and may produce empty backtraces with that compiler.
Updated Libraries
Asio:
Changed to require g++ versions >= 4.7 to use
standard atomics, to fix a linker error when using g++
4.6 (#13121).
Enabled use of constexpr
and variadic templates with recent MSVC versions.
Fixed a race condition in the Linux epoll backend, which may occur
when a socket or descriptor is closed while another thread is blocked
on epoll.
Eliminated use of deprecated auto_ptr.
Fixed misplaced use of asio_handler_is_continuation
result in reactive async_accept
implementation.
Changed to use poll.h
rather than sys/poll.h on some modern POSIX platforms
(#12419).
Fixed MSVC intellisense detection.
Disabled use of the __thread
keyword extension for android/clang/x86 targets.
Context:
Improvements:
call/cc supports ucontext-API (swapcontext)
call/cc supports Windows-Fiber-API
call/cc supports on demand growing (segmented/split) stacks
Bugfixes:
#12719: context test cases and examples segmentation fault
when built with mingw-w64 toolchain
#52: Failing to build callcc test with g++-4.9
important:
required bug fix 420554fe9ac01482990e8ae314f4f7ba81010c9a
not included in 1.65
Config:
Added BOOST_NO_CXX11_POINTER_TRAITS,
BOOST_NO_CXX17_FOLD_EXPRESSIONS,
BOOST_NO_CXX17_INLINE_VARIABLES,
BOOST_NO_CXX17_STRUCTURED_BINDINGS
defect detection.
BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
Core:
Implemented pointer_traits
for C++03 and higher, that implements P0653r0
(Glen Fernandes). This implementation is now used by Align, Circular
Buffer, Fiber, Geometry, among other libraries.
Added BOOST_TEST_GT
and BOOST_TEST_GE
to Lightweight Test.
Coroutine2:
supports ucontext-API (swapcontext)
supports Windows-Fiber-API
#13064: different behavior coroutine and coroutine2
DLL:
Fix PE parsing on non Windows platforms.
Fiber:
Improvements:
hardware transactional memory (Intel TSX) supported
NUMA supported
ucontext-API (swapcontext) supported
Windows-Fiber-API supported
on demand growing stacks
Bugfixes:
#121: failing to build static lib with GCC 4.8 and C++11
#123: assertion failure in schedule_from_remote
#125: erratic crashes in testsuite
#126: incorrect std::memory_order value in compare_exchange_strong?
important:
required bug fix 63f1041f0e484e64dec437a0fa780ea2463abda2
not included in 1.65
Fusion:
MSVC 14.1 supports variadic containers, such as fusion::vector,
fusion::deque, fusion::map,
fusion::set, and fusion::tuple.
(#12986)
Geometry:
Improvements:
Add correct() overload taking area strategy
Add is_convex() overload taking side strategy
Add missing relational operations (covered_by, crosses, equals,
etc.) for MultiPoint/AnyGeometry
Solved issues:
12410
Lack of support of geographic coordinate system in correct()
13035
Wrong result of non-cartesian intersection strategies for segments
near poles.
13057
Wrong result of intersects() for linestrings caused by numerical
issue in disjoint() for boxes.
Bugfixes:
Fix is_valid which could return false for multipolygons where
an interior ring touches another interior ring
Fix is_valid which could return false for multipolygons where
a polygon was located in an interior ring, all touching each
other
Fix union which could produce invalid results (for some cases,
this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
Fix intersection (idem), but some cases are still not yet valid
Fix difference (idem), but some cases are still not yet valid
Fix propagation of area strategy into the internals of various
algorithms from intersection strategy
Fix uninitialized variable in relate and reference to temporary
in overlay
Fix error in disjoint for geographic Segment/Box
Fix handling of non-cartesian geometries in various algorithms
Hash:
Support for char16_t,
char32_t, u16string, u32string.
Log:
General changes:
Improved compatibility with Solaris.
See changelog
for more details.
Phoenix:
Corrected some documentation. (PR#50)
phoenix::erase with associative container
returns iterator in C++11 mode. (#7423)
std::set and std::multiset
should be worked with predefined lazy functions. (PR#52)
Disable phoenix::random_shuffle in C++17. (PR#53)
Don't forward declare, include instead. (#11875)
Predef:
Fix Intel C/C++ version 9999 detection to be 12.1.0.
Addition of BOOST_PREDEF_WORKAROUND
and BOOST_PREDEF_TESTED_AT
macros for defect workarounds and detection.
Add ARM64 MSVC SIMD detection. (from Minmin Gong)
Add detection of iOS simulator vs device as a platform choice. (from
Ruslan Baratov)
Fix MinGW incorrect header guard. (from Ruslan Baratov)
Program Options:
Support for storing values into boost::optional,
thanks to Ed Catmur (#7495,
PR#18)
Parsing of implicit options can now use the value from the next token.
Since 1.59, unless the value of implicit option was specified in
the same token as the option itself, the implicit value was used.
That proved inconvenient, and now we again check the next token and
use it as value if it's not an option itself. (#25)
Python:
eval(),
exec(),
and exec_statement() now allow char
const *
arguments, in addition to boost::python::str.
The boost::python::numeric API has been removed, as
it is being obsoleted by boost::python::numpy.
Fix some build issues when using Python3 with MSVC.
Smart Pointers:
New class templateatomic_shared_ptr,
that provides thread-safe atomic pointer operations over shared_ptr. (Peter Dimov)
New class template local_shared_ptr,
where the reference count is updated with non-atomic operations.
(Peter Dimov)
More optimizations in allocate_shared
and make_shared for
arrays. (Glen Fernandes)
Documentation has been completely rewritten in Asciidoc format.
Test:
Boost.test v3.6 see the Change
log section for more details.
New feature:
C++17 compatibility (tested on VS2017), thanks to Daniela
Engert
Direct comparison of C-arrays in BOOST_TEST
Better global fixtures mechanism, and spitting of responsibilities
with BOOST_TEST_GLOBAL_FIXTURE
for global fixtures and BOOST_TEST_GLOBAL_CONFIGURATION
for global initialization (compile time configuration).
Improved support for fixtures (setup
/ teardown
member function) which enables better teardown time checks
Breaking changes
Some API changes for the loggers
Deprecating BOOST_GLOBAL_FIXTURE
in favor of BOOST_TEST_GLOBAL_FIXTURE
and BOOST_TEST_GLOBAL_CONFIGURATION
(see above)
Bug fixes
Trac tickets #5282, #5563, #11471, #11962,
#12228
Trac tickets #12631, #13011
Pull request PR106
Thread:
Important Regression on Windows:
#130
windows: Bug in boost::condition_variable on Windows Please,
merge these two patches
https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657
https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d
Bug fixes
#6787
boost::thread::sleep() hangs if system time is rolled back
#12519
boost::thread::try_join_for does not return after timeout
#12874
future<> extension constructor must be under BOOST_THREAD_PROVIDES_FUTURE_UNWRAP
#12888
Linking with boost thread does not work on mingw/gcc 4.4
#12958
sync_bounded_queue::wait_pull_front( lve ) might throw
#13077
Linking to static 64bit libboost_thread fails DLL initialization
#13155
log doesn't build on a system with pthreads
#121
on_tls_prepare is broken under VS2017
TypeIndex:
Include if required, thanks to
Ed Catmur #13009.
Use native hash_code() when possible on GCC-like compilers
#13027.
Fix ctti_type_index
for GCC 7 and later, thanks to Benjamin Buch PR16.
Unordered:
Use the same data structure for unordered_set
and unordered_multiset,
and forunordered_map
and unordered_multimap.
This is required for C++17, so that nodes can be merged and extracted
between compatible containers.
Add deprecated attributes to long deprecated functions.
Improved use of allocator_traits
construct and destroy on C++11 compilers, using
piecewise pair construction when appropriate.
Fewer workarounds on newer Oracle compilers.
Avoid dereferencing pointers to uninitialized memory (PR
#5).
Utility:
Improved compatibility of boost::next/boost::prior with SFINAE-unfriendly iterators.
#10847, #13002.
Variant:
r-value overload for boost::get
was added by Albert Sverdlov #13018.
Missing include fro <boost/variant/polymorphic_get.hpp>
header was added by Adam Badura #13037.
boost::make_variant_over was fixed and
now works with views and other Forward Sequences (thanks to Mikhail
Maksimov for the fix) #8554, #10041, PR#35.
Compilers Tested
Boost's primary test compilers are:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 16.0, 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
QNX:
QCC, C++11: 4.7.3
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Boost's additional test compilers include:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Clang, C++1z: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 8 years
ago
New Libraries
PolyCollection:
Fast
containers of polymorphic objects, from Joaquín M López Muñoz.
Stacktrace:
Gather, store,
copy and print
... [More]
backtraces, from Antony Polukhin.
Note: Library has issue
with MinGW and may produce empty backtraces with that compiler.
Updated Libraries
Asio:
Changed to require g++ versions >= 4.7 to use
standard atomics, to fix a linker error when using g++
4.6 (#13121).
Enabled use of constexpr
and variadic templates with recent MSVC versions.
Fixed a race condition in the Linux epoll backend, which may occur
when a socket or descriptor is closed while another thread is blocked
on epoll.
Eliminated use of deprecated auto_ptr.
Fixed misplaced use of asio_handler_is_continuation
result in reactive async_accept
implementation.
Changed to use poll.h
rather than sys/poll.h on some modern POSIX platforms
(#12419).
Fixed MSVC intellisense detection.
Disabled use of the __thread
keyword extension for android/clang/x86 targets.
Context:
call/cc supports ucontext-API (swapcontext)
call/cc supports Windows-Fiber-API
call/cc supports on demand growing (segmented/split) stacks
#12719: context test cases and examples segmentation fault when
built with mingw-w64 toolchain
#52: Failing to build callcc test with g++-4.9
Config:
Added BOOST_NO_CXX11_POINTER_TRAITS,
BOOST_NO_CXX17_FOLD_EXPRESSIONS,
BOOST_NO_CXX17_INLINE_VARIABLES,
BOOST_NO_CXX17_STRUCTURED_BINDINGS
defect detection.
BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
Core:
Implemented pointer_traits
for C++03 and higher, that implements P0653r0
(Glen Fernandes). This implementation is now used by Align, Circular
Buffer, Fiber, Geometry, among other libraries.
Added BOOST_TEST_GT
and BOOST_TEST_GE
to Lightweight Test.
Coroutine2:
supports ucontext-API (swapcontext)
supports Windows-Fiber-API
#13064: different behavior coroutine and coroutine2
DLL:
Fix PE parsing on non Windows platforms.
Fiber:
hardware transactional memory (Intel TSX) supported
NUMA supported
ucontext-API (swapcontext) supported
Windows-Fiber-API supported
on demand growing stacks
#121: failing to build static lib with GCC 4.8 and C++11
#123: assertion failure in schedule_from_remote
#125: erratic crashes in testsuite
#126: incorrect std::memory_order value in compare_exchange_strong?
Fusion:
MSVC 14.1 supports variadic containers, such as fusion::vector,
fusion::deque, fusion::map,
fusion::set, and fusion::tuple.
(#12986)
Geometry:
Improvements:
Add correct() overload taking area strategy
Add is_convex() overload taking side strategy
Add missing relational operations (covered_by, crosses, equals,
etc.) for MultiPoint/AnyGeometry
Solved issues:
12410
Lack of support of geographic coordinate system in correct()
13035
Wrong result of non-cartesian intersection strategies for segments
near poles.
13057
Wrong result of intersects() for linestrings caused by numerical
issue in disjoint() for boxes.
Bugfixes:
Fix is_valid which could return false for multipolygons where
an interior ring touches another interior ring
Fix is_valid which could return false for multipolygons where
a polygon was located in an interior ring, all touching each
other
Fix union which could produce invalid results (for some cases,
this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
Fix intersection (idem), but some cases are still not yet valid
Fix difference (idem), but some cases are still not yet valid
Fix propagation of area strategy into the internals of various
algorithms from intersection strategy
Fix uninitialized variable in relate and reference to temporary
in overlay
Fix error in disjoint for geographic Segment/Box
Fix handling of non-cartesian geometries in various algorithms
Hash:
Support for char16_t,
char32_t, u16string, u32string.
Log:
General changes:
Improved compatibility with Solaris.
See changelog
for more details.
Phoenix:
Corrected some documentation. (PR#50)
phoenix::erase with associative container
returns iterator in C++11 mode. (#7423)
std::set and std::multiset
should be worked with predefined lazy functions. (PR#52)
Disable phoenix::random_shuffle in C++17. (PR#53)
Don't forward declare, include instead. (#11875)
Predef:
Fix Intel C/C++ version 9999 detection to be 12.1.0.
Addition of BOOST_PREDEF_WORKAROUND
and BOOST_PREDEF_TESTED_AT
macros for defect workarounds and detection.
Add ARM64 MSVC SIMD detection. (from Minmin Gong)
Add detection of iOS simulator vs device as a platform choice. (from
Ruslan Baratov)
Fix MinGW incorrect header guard. (from Ruslan Baratov)
Program Options:
Support for storing values into boost::optional,
thanks to Ed Catmur (#7495,
PR#18)
Parsing of implicit options can now use the value from the next token.
Since 1.59, unless the value of implicit option was specified in
the same token as the option itself, the implicit value was used.
That proved inconvenient, and now we again check the next token and
use it as value if it's not an option itself. (#25)
Python:
eval(),
exec(),
and exec_statement() now allow char
const *
arguments, in addition to boost::python::str.
The boost::python::numeric API has been removed, as
it is being obsoleted by boost::python::numpy.
Fix some build issues when using Python3 with MSVC.
Smart Pointers:
New class templateatomic_shared_ptr,
that provides thread-safe atomic pointer operations over shared_ptr. (Peter Dimov)
New class template local_shared_ptr,
where the reference count is updated with non-atomic operations.
(Peter Dimov)
More optimizations in allocate_shared
and make_shared for
arrays. (Glen Fernandes)
Documentation has been completely rewritten in Asciidoc format.
Test:
Boost.test v3.6 see the Change
log section for more details.
New feature:
C++17 compatibility (tested on VS2017), thanks to Daniela
Engert
Direct comparison of C-arrays in BOOST_TEST
Better global fixtures mechanism, and spitting of responsibilities
with BOOST_TEST_GLOBAL_FIXTURE
for global fixtures and BOOST_TEST_GLOBAL_CONFIGURATION
for global initialization (compile time configuration).
Improved support for fixtures (setup
/ teardown
member function) which enables better teardown time checks
Breaking changes
Some API changes for the loggers
Deprecating BOOST_GLOBAL_FIXTURE
in favor of BOOST_TEST_GLOBAL_FIXTURE
and BOOST_TEST_GLOBAL_CONFIGURATION
(see above)
Bug fixes
Trac tickets #5282, #5563, #11471, #11962,
#12228
Trac tickets #12631, #13011
Pull request PR106
TypeIndex:
Include if required, thanks to
Ed Catmur #13009.
Use native hash_code() when possible on GCC-like compilers
#13027.
Fix ctti_type_index
for GCC 7 and later, thanks to Benjamin Buch PR16.
Unordered:
Use the same data structure for unordered_set
and unordered_multiset,
and forunordered_map
and unordered_multimap.
This is required for C++17, so that nodes can be merged and extracted
between compatible containers.
Add deprecated attributes to long deprecated functions.
Improved use of allocator_traits
construct and destroy on C++11 compilers, using
piecewise pair construction when appropriate.
Fewer workarounds on newer Oracle compilers.
Avoid dereferencing pointers to uninitialized memory (PR
#5).
Utility:
Improved compatibility of boost::next/boost::prior with SFINAE-unfriendly iterators.
#10847, #13002.
Variant:
r-value overload for boost::get
was added by Albert Sverdlov #13018.
Missing include fro <boost/variant/polymorphic_get.hpp>
header was added by Adam Badura #13037.
boost::make_variant_over was fixed and
now works with views and other Forward Sequences (thanks to Mikhail
Maksimov for the fix) #8554, #10041, PR#35.
Compilers Tested
Boost's primary test compilers are:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 16.0, 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
QNX:
QCC, C++11: 4.7.3
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Boost's additional test compilers include:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Clang, C++1z: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 8 years
ago
Known Issues
These are patches from library authors which were found too late to be fixed
in the release. Be careful as they have not been through the normal testing
process.
Combined patch for fixes
... [More]
to issues: boost_1_65_0.patch.
Use patch -p1 < boost_1_65_0.patch from the root of the boost repo to
apply. Or you can apply the patches individually below.
Context and Fiber don't return continuations when they should:
Context
patch
Fiber
patch
Thread: Bug in boost::condition_variable on Windows:
Thread
patch 1
Thread
patch 2
New Libraries
PolyCollection:
Fast
containers of polymorphic objects, from Joaquín M López Muñoz.
Stacktrace:
Gather, store,
copy and print backtraces, from Antony Polukhin.
Note: Library has issue
with MinGW and may produce empty backtraces with that compiler.
Updated Libraries
Asio:
Changed to require g++ versions >= 4.7 to use
standard atomics, to fix a linker error when using g++
4.6 (#13121).
Enabled use of constexpr
and variadic templates with recent MSVC versions.
Fixed a race condition in the Linux epoll backend, which may occur
when a socket or descriptor is closed while another thread is blocked
on epoll.
Eliminated use of deprecated auto_ptr.
Fixed misplaced use of asio_handler_is_continuation
result in reactive async_accept
implementation.
Changed to use poll.h
rather than sys/poll.h on some modern POSIX platforms
(#12419).
Fixed MSVC intellisense detection.
Disabled use of the __thread
keyword extension for android/clang/x86 targets.
Context:
Improvements:
call/cc supports ucontext-API (swapcontext)
call/cc supports Windows-Fiber-API
call/cc supports on demand growing (segmented/split) stacks
Bugfixes:
#12719: context test cases and examples segmentation fault
when built with mingw-w64 toolchain
#52: Failing to build callcc test with g++-4.9
important:
required bug fix 420554fe9ac01482990e8ae314f4f7ba81010c9a
not included in 1.65
Config:
Added BOOST_NO_CXX11_POINTER_TRAITS,
BOOST_NO_CXX17_FOLD_EXPRESSIONS,
BOOST_NO_CXX17_INLINE_VARIABLES,
BOOST_NO_CXX17_STRUCTURED_BINDINGS
defect detection.
BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
Core:
Implemented pointer_traits
for C++03 and higher, that implements P0653r0
(Glen Fernandes). This implementation is now used by Align, Circular
Buffer, Fiber, Geometry, among other libraries.
Added BOOST_TEST_GT
and BOOST_TEST_GE
to Lightweight Test.
Coroutine2:
supports ucontext-API (swapcontext)
supports Windows-Fiber-API
#13064: different behavior coroutine and coroutine2
DLL:
Fix PE parsing on non Windows platforms.
Fiber:
Improvements:
hardware transactional memory (Intel TSX) supported
NUMA supported
ucontext-API (swapcontext) supported
Windows-Fiber-API supported
on demand growing stacks
Bugfixes:
#121: failing to build static lib with GCC 4.8 and C++11
#123: assertion failure in schedule_from_remote
#125: erratic crashes in testsuite
#126: incorrect std::memory_order value in compare_exchange_strong?
important:
required bug fix 63f1041f0e484e64dec437a0fa780ea2463abda2
not included in 1.65
Fusion:
MSVC 14.1 supports variadic containers, such as fusion::vector,
fusion::deque, fusion::map,
fusion::set, and fusion::tuple.
(#12986)
Geometry:
Improvements:
Add correct() overload taking area strategy
Add is_convex() overload taking side strategy
Add missing relational operations (covered_by, crosses, equals,
etc.) for MultiPoint/AnyGeometry
Solved issues:
12410
Lack of support of geographic coordinate system in correct()
13035
Wrong result of non-cartesian intersection strategies for segments
near poles.
13057
Wrong result of intersects() for linestrings caused by numerical
issue in disjoint() for boxes.
Bugfixes:
Fix is_valid which could return false for multipolygons where
an interior ring touches another interior ring
Fix is_valid which could return false for multipolygons where
a polygon was located in an interior ring, all touching each
other
Fix union which could produce invalid results (for some cases,
this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
Fix intersection (idem), but some cases are still not yet valid
Fix difference (idem), but some cases are still not yet valid
Fix propagation of area strategy into the internals of various
algorithms from intersection strategy
Fix uninitialized variable in relate and reference to temporary
in overlay
Fix error in disjoint for geographic Segment/Box
Fix handling of non-cartesian geometries in various algorithms
Hash:
Support for char16_t,
char32_t, u16string, u32string.
Log:
General changes:
Improved compatibility with Solaris.
See changelog
for more details.
Phoenix:
Corrected some documentation. (PR#50)
phoenix::erase with associative container
returns iterator in C++11 mode. (#7423)
std::set and std::multiset
should be worked with predefined lazy functions. (PR#52)
Disable phoenix::random_shuffle in C++17. (PR#53)
Don't forward declare, include instead. (#11875)
Predef:
Fix Intel C/C++ version 9999 detection to be 12.1.0.
Addition of BOOST_PREDEF_WORKAROUND
and BOOST_PREDEF_TESTED_AT
macros for defect workarounds and detection.
Add ARM64 MSVC SIMD detection. (from Minmin Gong)
Add detection of iOS simulator vs device as a platform choice. (from
Ruslan Baratov)
Fix MinGW incorrect header guard. (from Ruslan Baratov)
Program Options:
Support for storing values into boost::optional,
thanks to Ed Catmur (#7495,
PR#18)
Parsing of implicit options can now use the value from the next token.
Since 1.59, unless the value of implicit option was specified in
the same token as the option itself, the implicit value was used.
That proved inconvenient, and now we again check the next token and
use it as value if it's not an option itself. (#25)
Python:
eval(),
exec(),
and exec_statement() now allow char
const *
arguments, in addition to boost::python::str.
The boost::python::numeric API has been removed, as
it is being obsoleted by boost::python::numpy.
Fix some build issues when using Python3 with MSVC.
Smart Pointers:
New class templateatomic_shared_ptr,
that provides thread-safe atomic pointer operations over shared_ptr. (Peter Dimov)
New class template local_shared_ptr,
where the reference count is updated with non-atomic operations.
(Peter Dimov)
More optimizations in allocate_shared
and make_shared for
arrays. (Glen Fernandes)
Documentation has been completely rewritten in Asciidoc format.
Test:
Boost.test v3.6 see the Change
log section for more details.
New feature:
C++17 compatibility (tested on VS2017), thanks to Daniela
Engert
Direct comparison of C-arrays in BOOST_TEST
Better global fixtures mechanism, and spitting of responsibilities
with BOOST_TEST_GLOBAL_FIXTURE
for global fixtures and BOOST_TEST_GLOBAL_CONFIGURATION
for global initialization (compile time configuration).
Improved support for fixtures (setup
/ teardown
member function) which enables better teardown time checks
Breaking changes
Some API changes for the loggers
Deprecating BOOST_GLOBAL_FIXTURE
in favor of BOOST_TEST_GLOBAL_FIXTURE
and BOOST_TEST_GLOBAL_CONFIGURATION
(see above)
Bug fixes
Trac tickets #5282, #5563, #11471, #11962,
#12228
Trac tickets #12631, #13011
Pull request PR106
Thread:
Important Regression on Windows:
#130
windows: Bug in boost::condition_variable on Windows Please,
merge these two patches
https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657
https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d
Bug fixes
#6787
boost::thread::sleep() hangs if system time is rolled back
#12519
boost::thread::try_join_for does not return after timeout
#12874
future<> extension constructor must be under BOOST_THREAD_PROVIDES_FUTURE_UNWRAP
#12888
Linking with boost thread does not work on mingw/gcc 4.4
#12958
sync_bounded_queue::wait_pull_front( lve ) might throw
#13077
Linking to static 64bit libboost_thread fails DLL initialization
#13155
log doesn't build on a system with pthreads
#121
on_tls_prepare is broken under VS2017
TypeIndex:
Include if required, thanks to
Ed Catmur #13009.
Use native hash_code() when possible on GCC-like compilers
#13027.
Fix ctti_type_index
for GCC 7 and later, thanks to Benjamin Buch PR16.
Typeof:
Fix compilation error with clang-cl ticket
11821.
Unordered:
Use the same data structure for unordered_set
and unordered_multiset,
and forunordered_map
and unordered_multimap.
This is required for C++17, so that nodes can be merged and extracted
between compatible containers.
Add deprecated attributes to long deprecated functions.
Improved use of allocator_traits
construct and destroy on C++11 compilers, using
piecewise pair construction when appropriate.
Fewer workarounds on newer Oracle compilers.
Avoid dereferencing pointers to uninitialized memory (PR
#5).
Utility:
Improved compatibility of boost::next/boost::prior with SFINAE-unfriendly iterators.
#10847, #13002.
Variant:
r-value overload for boost::get
was added by Albert Sverdlov #13018.
Missing include fro <boost/variant/polymorphic_get.hpp>
header was added by Adam Badura #13037.
boost::make_variant_over was fixed and
now works with views and other Forward Sequences (thanks to Mikhail
Maksimov for the fix) #8554, #10041, PR#35.
Compilers Tested
Boost's primary test compilers are:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 16.0, 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
QNX:
QCC, C++11: 4.7.3
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Boost's additional test compilers include:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Clang, C++1z: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 8 years
ago
New Libraries
PolyCollection:
Fast
containers of polymorphic objects, from Joaquín M López Muñoz.
Stacktrace:
Gather, store,
copy and print
... [More]
backtraces, from Antony Polukhin.
Note: Library has issue
with MinGW and may produce empty backtraces with that compiler.
Updated Libraries
Asio:
Changed to require g++ versions >= 4.7 to use
standard atomics, to fix a linker error when using g++
4.6 (#13121).
Enabled use of constexpr
and variadic templates with recent MSVC versions.
Fixed a race condition in the Linux epoll backend, which may occur
when a socket or descriptor is closed while another thread is blocked
on epoll.
Eliminated use of deprecated auto_ptr.
Fixed misplaced use of asio_handler_is_continuation
result in reactive async_accept
implementation.
Changed to use poll.h
rather than sys/poll.h on some modern POSIX platforms
(#12419).
Fixed MSVC intellisense detection.
Disabled use of the __thread
keyword extension for android/clang/x86 targets.
Context:
call/cc supports ucontext-API (swapcontext)
call/cc supports Windows-Fiber-API
call/cc supports on demand growing (segmented/split) stacks
#12719: context test cases and examples segmentation fault when
built with mingw-w64 toolchain
#52: Failing to build callcc test with g++-4.9
Config:
Added BOOST_NO_CXX11_POINTER_TRAITS,
BOOST_NO_CXX17_FOLD_EXPRESSIONS,
BOOST_NO_CXX17_INLINE_VARIABLES,
BOOST_NO_CXX17_STRUCTURED_BINDINGS
defect detection.
BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
Core:
Implemented pointer_traits
for C++03 and higher, that implements P0653r0
(Glen Fernandes). This implementation is now used by Align, Circular
Buffer, Fiber, Geometry, among other libraries.
Added BOOST_TEST_GT
and BOOST_TEST_GE
to Lightweight Test.
Coroutine2:
supports ucontext-API (swapcontext)
supports Windows-Fiber-API
#13064: different behavior coroutine and coroutine2
DLL:
Fix PE parsing on non Windows platforms.
Fiber:
hardware transactional memory (Intel TSX) supported
NUMA supported
ucontext-API (swapcontext) supported
Windows-Fiber-API supported
on demand growing stacks
#121: failing to build static lib with GCC 4.8 and C++11
#123: assertion failure in schedule_from_remote
#125: erratic crashes in testsuite
#126: incorrect std::memory_order value in compare_exchange_strong?
Fusion:
MSVC 14.1 supports variadic containers, such as fusion::vector,
fusion::deque, fusion::map,
fusion::set, and fusion::tuple.
(#12986)
Geometry:
Improvements:
Add correct() overload taking area strategy
Add is_convex() overload taking side strategy
Add missing relational operations (covered_by, crosses, equals,
etc.) for MultiPoint/AnyGeometry
Solved issues:
12410
Lack of support of geographic coordinate system in correct()
13035
Wrong result of non-cartesian intersection strategies for segments
near poles.
13057
Wrong result of intersects() for linestrings caused by numerical
issue in disjoint() for boxes.
Bugfixes:
Fix is_valid which could return false for multipolygons where
an interior ring touches another interior ring
Fix is_valid which could return false for multipolygons where
a polygon was located in an interior ring, all touching each
other
Fix union which could produce invalid results (for some cases,
this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
Fix intersection (idem), but some cases are still not yet valid
Fix difference (idem), but some cases are still not yet valid
Fix propagation of area strategy into the internals of various
algorithms from intersection strategy
Fix uninitialized variable in relate and reference to temporary
in overlay
Fix error in disjoint for geographic Segment/Box
Fix handling of non-cartesian geometries in various algorithms
Hash:
Support for char16_t,
char32_t, u16string, u32string.
Log:
General changes:
Improved compatibility with Solaris.
See changelog
for more details.
Phoenix:
Corrected some documentation. (PR#50)
phoenix::erase with associative container
returns iterator in C++11 mode. (#7423)
std::set and std::multiset
should be worked with predefined lazy functions. (PR#52)
Disable phoenix::random_shuffle in C++17. (PR#53)
Don't forward declare, include instead. (#11875)
Predef:
Fix Intel C/C++ version 9999 detection to be 12.1.0.
Addition of BOOST_PREDEF_WORKAROUND
and BOOST_PREDEF_TESTED_AT
macros for defect workarounds and detection.
Add ARM64 MSVC SIMD detection. (from Minmin Gong)
Add detection of iOS simulator vs device as a platform choice. (from
Ruslan Baratov)
Fix MinGW incorrect header guard. (from Ruslan Baratov)
Program Options:
Support for storing values into boost::optional,
thanks to Ed Catmur (#7495,
PR#18)
Parsing of implicit options can now use the value from the next token.
Since 1.59, unless the value of implicit option was specified in
the same token as the option itself, the implicit value was used.
That proved inconvenient, and now we again check the next token and
use it as value if it's not an option itself. (#25)
Python:
eval(),
exec(),
and exec_statement() now allow char
const *
arguments, in addition to boost::python::str.
The boost::python::numeric API has been removed, as
it is being obsoleted by boost::python::numpy.
Fix some build issues when using Python3 with MSVC.
Smart Pointers:
New class templateatomic_shared_ptr,
that provides thread-safe atomic pointer operations over shared_ptr. (Peter Dimov)
New class template local_shared_ptr,
where the reference count is updated with non-atomic operations.
(Peter Dimov)
More optimizations in allocate_shared
and make_shared for
arrays. (Glen Fernandes)
Documentation has been completely rewritten in Asciidoc format.
Test:
Boost.test v3.6 see the Change
log section for more details.
New feature:
C++17 compatibility (tested on VS2017), thanks to Daniela
Engert
Direct comparison of C-arrays in BOOST_TEST
Better global fixtures mechanism, and spitting of responsibilities
with BOOST_TEST_GLOBAL_FIXTURE
for global fixtures and BOOST_TEST_GLOBAL_CONFIGURATION
for global initialization (compile time configuration).
Improved support for fixtures (setup
/ teardown
member function) which enables better teardown time checks
Breaking changes
Some API changes for the loggers
Deprecating BOOST_GLOBAL_FIXTURE
in favor of BOOST_TEST_GLOBAL_FIXTURE
and BOOST_TEST_GLOBAL_CONFIGURATION
(see above)
Bug fixes
Trac tickets #5282, #5563, #11471, #11962,
#12228
Trac tickets #12631, #13011
Pull request PR106
TypeIndex:
Include if required, thanks to
Ed Catmur #13009.
Use native hash_code() when possible on GCC-like compilers
#13027.
Fix ctti_type_index
for GCC 7 and later, thanks to Benjamin Buch PR16.
Unordered:
Use the same data structure for unordered_set
and unordered_multiset,
and forunordered_map
and unordered_multimap.
This is required for C++17, so that nodes can be merged and extracted
between compatible containers.
Add deprecated attributes to long deprecated functions.
Improved use of allocator_traits
construct and destroy on C++11 compilers, using
piecewise pair construction when appropriate.
Fewer workarounds on newer Oracle compilers.
Avoid dereferencing pointers to uninitialized memory (PR
#5).
Utility:
Improved compatibility of boost::next/boost::prior with SFINAE-unfriendly iterators.
#10847, #13002.
Variant:
r-value overload for boost::get
was added by Albert Sverdlov #13018.
Missing include fro <boost/variant/polymorphic_get.hpp>
header was added by Adam Badura #13037.
boost::make_variant_over was fixed and
now works with views and other Forward Sequences (thanks to Mikhail
Maksimov for the fix) #8554, #10041, PR#35.
Compilers Tested
Boost's primary test compilers are:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 16.0, 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
QNX:
QCC, C++11: 4.7.3
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Boost's additional test compilers include:
Linux:
Clang: 3.0, 3.8.1
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
Clang, C++1z: 4.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
GCC, C++17: 7.1.0
GCC, C++1z: 6.3.0
Intel: 17.0
Intel, C++11: 16.0, 17.0
Intel, C++14: 16.0
OS X:
Clang: 8.1.0
Clang, C++11: 8.1.0
Clang, C++14: 8.1.0
Clang, C++1z: 8.1.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Android:
Clang: 3.6, 3.7, 3.8
GCC: 4.9, 5.4
GCC, C++14: 6.2
FreeBSD:
Clang: 3.8.0
Clang, C++11: 3.8.0
Clang, C++14: 3.8.0
Clang, C++1z: 3.8.0
SunOS:
Oracle Solaris Studio: 12.5_next, 12.5
Oracle Solaris Studio, C++11: 12.5_next, 12.5
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|