2018-04-29 22:41:12 by Adam Ciarcinski | Files touched by this commit (24) | |
Log message:
boost: updated to 1.67.0
Version 1.67.0:
New Libraries:
- Contract: Contract programming for C++.
- HOF: Higher-order functions for C++.
Updated Libraries:
- Asio:
Added missing const qualifier to basic_socket_acceptor::get_option.
Worked around a parsing error that occurs with some versions of gcc.
Fixed broken code samples in tutorial.
Added new experimental features. (Note that "experimental" features \
may be changed without notice in subsequent releases.)
Added experimental::detached completion token.
Added experimental::redirect_error completion token.
Added experimental::co_spawn facility for integration with the coroutines \
technical specification.
Updated timeout examples to use latest features.
Used asio::steady_timer rather than asio::deadline_timer.
Used asio::dynamic_buffer rather than asio::streambuf.
Used timed asio::io_context::run_for() function for blocking clients.
Added example showing a custom completion token for blocking with timeouts.
Fixed unit tests to compile when BOOST_ASIO_NO_DEPRECATED is defined.
Changed socket iostreams to use chrono by default, to fix compatibility with the \
Networking TS. Define BOOST_ASIO_USE_BOOST_DATE_TIME_FOR_SOCKET_IOSTREAM to \
enable the old Boost.Date_Time interface in basic_socket_streambuf and \
basic_socket_iostream.
Updated examples to use chrono rather than Boost.Date_Time.
Fixed an incorrect member function detector in the is_dynamic_buffer trait.
Fixed an async_result incompatibility with deprecated handler_type.
Added a missing move optimisation in the SSL stream implementation.
Fixed incorrect basic_resolver_results::value_type typedef.
Fixed a compile error with some OpenSSL versions when SSL_OP_NO_COMPRESSION is \
defined.
Changed add_certificate_authority to process multiple certificates in a bundle.
Eliminated deprecation warning with MSVC by using std::invoke_result rather than \
std::result_of.
Changed to use std::string_view for C++17 or later, and \
std::experimental::string_view for C++14. Define the preprocessor macro \
BOOST_ASIO_DISABLE_STD_STRING_VIEW to force the use of \
std::experimental::string_view (assuming it is available) when compiling in \
C++17 mode.
Ensured DynamicBuffer template arguments are decayed before using in enable_if tests.
Changed documentation to distinguish legacy completion handlers (which are still \
required to be CopyConstructible) from new MoveConstructible handlers.
Suppressed a discarded return value warning in the buffer debugging support.
Fixed basic_yield_context to work with completion signatures containing \
reference parameters.
Ensured that stackful coroutines launched using spawn() correctly store decayed \
copies of their function and handler arguments.
Fixed some compatibility issues with Android.
Added cross-compilation support to Jamfiles.
Fixed some minor portability issues in examples.
- Atomic:
Breaking change: Changed the result of the (op)_and_test operations added in \
Boost 1.66 to the opposite - the functions now return true if the operation \
result is non-zero. This is consistent with other test methods in Boost.Atomic \
and the C++ standard library. Users can define \
BOOST_ATOMIC_DETAIL_HIGHLIGHT_OP_AND_TEST when compiling their code to emit \
warnings on every use of the changed functions. This way users can locate the \
code that needs to be updated.
Update for C++2a. On C++11 compilers that support scoped enums, the memory_order \
enumeration is now scoped and contains constants with shorter names like \
acquire, release or seq_cst (i.e. users can use memory_order::acquire instead of \
memory_order_acquire). The old constants are also provided for backward \
compatibility. (P0439R0)
Update for C++2a. Added experimental support for atomic operations on floating \
point types. In addition to general operations, add, sub, negate operations and \
their fetch_(op) and opaque_(op) versions are supported. Lock-free property can \
be tested with the new macros BOOST_ATOMIC_FLOAT/DOUBLE/LONG_DOUBLE_LOCK_FREE. \
The support for floating point types is optional and can be disabled by defining \
BOOST_ATOMIC_NO_FLOATING_POINT. (P0020R6)
Added new experimental operations:
negate_and_test and complement_and_test which perform negation or bitwise \
complement and return true if the result is not zero.
add, sub, negate, bitwise_and, bitwise_or, bitwise_xor, bitwise_complement \
operations which perform the operation and return its result.
For generic atomic<T> specialization, the default constructor is now \
trivial if T's default constructor is.
The internal implementation of atomic<T> has been updated to avoid \
undefined behavior that stems from signed integer overflows. As required by the \
C++ standard, the library uses two's complement representation of signed \
integers internally and accroding rules of overflow. Currently, the library \
requires the native signed integer types to also use two's complement \
representation (but no defined overflow semantics).
Improved Clang support. In particular, fixed DCAS not being lock-free and fixed \
possible incorrect code generated on 32-bit x86.
Improved MinGW support. For gcc versions up to 4.6, fixed compilation of DCAS on x86.
In x86 PIE code, asm blocks now preserve ebx value.
- Beast:
This version fixes significant defects in websocket::stream which can lead to \
asserts or undefined behavior. Users are encouraged to update to the latest \
Boost release.
For a complete list of changes, please view the official Release Notes.
- ContainerHash:
Extracted from the functional module to break a dependency cycle.
Moved headers to new location to reflect name change, the old include paths will \
still work.
Added support for std::string_view, std::error_code, std::error_condition, \
std::optional, std::variant, std::monostate where available.
Added explicit support for vector<bool>, so that it will work with libc++.
More detail in the library change log.
- Context:
fix i386/macho routines to correctly return transfer_t in EAX/EDX
__sanitizer_finish_switch_fiber should be called directly after context switch
Clang on Windows : error: No best alternative for libs/context/build/asm_sources
fixing C2492 for execution_context (v1)
known bug: including all.hpp + <context-impl>ucontext/winfib causes error \
'forced_unwind: is not a member of boost::context::detail'
More info https://www.boost.org/users/history/version_1_67_0.html
|
2018-01-01 21:36:09 by Adam Ciarcinski | Files touched by this commit (10) | |
Log message:
boost: updated to 1.66.0
1.66.0:
New Libraries
Beast:
Portable HTTP, WebSocket, and network operations using only C++11 and \
Boost.Asio, from Vinnie Falco.
CallableTraits:
A spiritual successor to Boost.FunctionTypes, Boost.CallableTraits is a \
header-only C++11 library for the compile-time inspection and manipulation of \
all 'callable' types. Additional support for C++17 features, from Barrett Adair.
Mp11:
A C++11 metaprogramming library, from Peter Dimov.
|
2017-08-24 21:31:32 by Adam Ciarcinski | Files touched by this commit (30) |
Log message:
Version 1.65.0
New Libraries: PolyCollection, Stacktrace. Updated Libraries: Asio, Context, \
Config, Core, Coroutine2, DLL, Fiber, Fusion, Geometry, Hash, Log, Phoenix, \
Predef, Program Options, Python, Smart Pointers, Test, TypeIndex, Unordered, \
Utility, Variant.
|
2017-07-14 20:18:57 by Thomas Klausner | Files touched by this commit (1) |
Log message:
Pass LDFLAGS when building using bjam. Fixes RELRO for at least boost-libs.
|
2017-05-03 10:38:46 by Jonathan Perkin | Files touched by this commit (95) |
Log message:
Convert CXXFLAGS setting C++ standard to USE_LANGUAGES.
|
2017-04-29 20:31:42 by Adam Ciarcinski | Files touched by this commit (11) |
Log message:
Changes 1.64.0:
New Libraries
Process library by Klemens D. Morgenstern, that provides cross platorm ways to \
allows you to:
* create child processes
* setup streams for child processes
* communicate with child processes through streams (synchronously or asynchronously)
* wait for processes to exit (synchronously or asynchronously)
* terminate processes
|
2017-01-01 16:32:47 by Adam Ciarcinski | Files touched by this commit (12) | |
Log message:
Changes 1.63.0:
Atomic:
* Added the static constant atomic<T>::is_always_lock_free for conformance \
with C++17. The constant indicates that the given specialization always provides \
lock-free implementation of atomic operations.
* Improved support of Oracle Studio on x86 targets.
Container:
* Fixed bugs
Context:
* 11687 Xcode (Apple clang) and thread_local
* 12114 context does not preserve fpu context on ios arm64 devices (fixed for \
other architecturs too)
* 12411 fpu registers not preserved with O2 optimizations in Visual Studio \
(fixed for other architecturs too)
* 12551 building boost on arm64 causes error: unknown directive
* reduced signatur for ontop-functions
* unit-test for private fcontext-API
* performance-test for ucontext and fcontext fixed
Fiber:
* unbounded_channel and bounded_channel marked as deprecated
* new classes buffered_channel and unbuffered_channel
* performance improved
Fusion:
* Fixed fusion::vector buggy constructors (Thanks to Lee Clagett).
* BOOST_FUSION_ADAPT* and BOOST_FUSION_DEFINE* now allow empty structures. (6592)
* BOOST_FUSION_DEFINE* allows move constructor and assignment. (10099)
* Adaptor for std::array (Thanks to Mateusz Åoskot). (8241)
* Fixed returning temporary variable warnings on MSVC.
Geometry:
* Intersection: take care that output is valid (work in progres, not yet \
finished - but more is valid)
* 12289 Avoid warning/compilation error for std::cout
* 12412 Invalid result of covered_by() with geographic Points and Boxes
* 12413 rtree::remove() not working properly with geographic Points
Hash:
* Fixed some warnings.
Interprocess:
* Fixed bugs
Intrusive:
* Fixed bugs
Lexical Cast:
* Fixed issue found by -fsanitize=undefined 21
Log:
* Removed the previously deprecated type_info_wrapper.
* Added a way to access the current file name from the text file sink backend. \
The file name can be obtained with the get_current_file_name method.
* Bug fixes
Metaparse:
* Improved the implementation of BOOST_METAPARSE_STRING
Move:
* Improved experimental adaptive sort algorithm performance
* Activate BOOST_MOVE_FORCEINLINE
Optional:
* Added two new in-place constructors. They work similarly to emplace() \
functions: they initialize the contained value by perfect-forwarding the \
obtained arguments. One constructor always initializes the contained value, the \
other based on a boolean condition.
* Syntax o = {} now correctly un-initializes an optional, just like in std::optional.
* Fixed optional<optional<T>&> initialization. (12203)
* Optional constructors are sfinae-friendly. This fixes interaction with \
std::tuple. (12563)
Phoenix:
* Most of modules now support C++11 variadic templates.
* Fixed type deduction failure with result type.
* Suppress unused warnings.
* Fixed too few arguments error on binary math functions.
* Added workarounds for older compiler.
Python:
* Added (basic) support for C++11 (std::shared_ptr, std::unique_ptr)
* Incorporated an extension API to wrap NumPy
* Removed obsolete bits and pieces
Test:
* Boost.test v3.4 see the Change log section for more details.
* New feature: per_element and lexicographic modifiers of BOOST_TEST can also be \
applied to string comparison
* Breaking change: colons that appear in test case names are replaced with \
underscores
* Bug fixes
TypeIndex:
* Added runtime_cast to the library as an emulation of dynamic_cast. Thanks to \
Chris Glover for the implementation. See runtime_cast reference for more info.
* Internals of the CTTI were made more platform independant, due to change of \
the std::size_t type to unsigned int.
Units:
* Fix inspection warnings
* updated physico-chemical constants to CODATA 2014 values
* define biot correctly as 10 Ampere
Unordered:
* Fix an exception safety issue in assignment.
* Use std::allocator_traits where available, and support modern style rebind (12459).
* Add some allocator aware constructors.
* Use the hint iterator in emplace_hint.
* Fixed some warnings.
|
2016-10-07 19:51:11 by Adam Ciarcinski | Files touched by this commit (12) |
Log message:
Changes 1.62.0:
New Libraries
-------------
Fiber:
* Framework for userland-threads/fibers, from Oliver Kowalke.
QVM:
* Boost QVM is a generic library for working with quaternions, vectors and \
matrices of static size with the emphasis on 2, 3 and 4-dimensional operations \
needed in graphics, video games and simulation applications, from Emil \
Dotchevski.
Updated Libraries
-----------------
Atomic:
* Improved support for Oracle Studio and SPARC. The library now provides native \
atomic operations on SPARCv8+.
Chrono:
* 11330 boost::chrono::duration default constructor doesn't initialize rep_
* 11618 Chrono IO V2 doc ios_state.hpp does not exist
* 11631 boost chrono io v2 does not let you support custom clocks
Circular Buffer:
* Debug implementation is no longer used by default in debug mode. Debug \
implementation does not have the same thread safety guarantees as the normal \
(release) implementation or other containers. As a result of this change \
BOOST_CB_DISABLE_DEBUG macro is no longer used. BOOST_CB_ENABLE_DEBUG=1 should \
be defined instead to enable debug support.
Container:
* Fixed bugs:
Trac 9481: "Minor comment typo in Boost.Container".
Trac 9689: "Add piecewise_construct to boost::container".
Trac 11170: "Doc slip for index_of".
Trac 11802: "Incorrect ordering after using insert() with ordered_range_t \
on a flat_multiset with a non-default sort order".
Trac 12117: "flat_set constructor with ordered_unique_range".
Trac 12177: "vector::priv_merge uses unqualified uintptr_t".
Trac 12183: "GCC 6.1 thinks boost::container::string violates strict \
aliasing".
Trac 12256: "set<std::pair<int,int>>::insert cause compilation \
error in debug configuration in Visual Studio 2012".
Trac 12273: "static_vector max_size() and capacity() should be constant \
expressions". Added constant static_vector<>::static_capacity to use \
the configured capacity in constant expressions.
Trac 12286: "PMR flat_map from Boost Container does not compile".
Trac 12296: "{deque,string} combine for a memory leak".
Trac 12319: "flat_set should be nothrow move constructible".
* Revised noexcept expressions of default and move constructors in all containers.
* Implemented C++17 insert_or_assign/try_emplace for map and flat_map.
* Implemented C++17 extract/insert(node) for map, multimap, set, multiset.
Context:
* 12215 all stack corrupted on Windows using default fixedsize_stack
* 12242 build issue with Intel C++ compiler for MacOS
* fix stack unwinding for execution_context_v1
Coroutine:
* deprecated in favour of Coroutine2
Coroutine2:
* 12221 coroutine<>::push_type function starts without pushing
* do not swallow exceptions thrown at coroutine<>::push_type construction
DLL:
* Mangled symbols and classes loading was implemented by Klemens Morgenstern
* Suppress a 'unused parameter' warning in detail::aggressive_ptr_cast pull-request 9
* Allowed to query non-existant sections pull-request 32
* More tests and docs
Functional/Forward:
* Fix C++11 compile error.
Interprocess:
* Fixed bug GitHub Pull 27 ("Fix undefined behavior").
Intrusive:
* Fixed bugs:
Boost Trac 11476: has_member_function_callable_with.hpp is massively broken with \
BOOST_NO_CXX11_DECLTYPE
Boost Trac 11994: Support intrusive container key extractors that return the key \
by value
Boost Trac 12184: clang -Wdocumentation warning
Boost Trac 12190: Intrusive List + Flat Map combination crashes
Boost Trac 12229: intrusive::unordered_set<T>::rehash() broken
Boost Trac 12245: bstree uses a shared static size_traits for \
constant_time_size<false>
Lexical Cast:
* Fix incorrect static assertion 11759
Log:
* New features:
Added new tools for inter-process logging on a local machine. The implementation \
includes a resource name wrapper, an inter-process message queue and a sink \
backend.
Added a new character decorator called max_size_decor. The new decorator allows \
to limit the output of its adopted formatter up to the specified length.
* Bug fixes:
Fixed that logging streams could retain formatting settings across different log \
records. (12178)
See changelog for more details.
Math:
* New Features:
Enabled all the special function code to work correctly with types whose \
precision can change at runtime: for example type mpfr_float from \
Boost.Multiprecision.
* Patches:
Fix tgamma_delta_ratio for cases where the delta is small compared to the base.
Fix misc GCC-4.4 test failures.
Optional:
* Fixed Trac 12179.
Phoenix:
* Fix compilation for MSVC 10. pull-request 18
* Remove unused preprocessed files. pull-request 28
* Fix erroneous doc for switch_ statement. 8156
* Cleanup config unordered. pull-request 33
* Suppress unused placeholder warnings.
* Fix too few arguments error on binary math functions.
Regex:
* Fix buffer over-run error when parsing certain invalid regexes, see 12222.
* Fix detection of ICU in library build, see 12152.
* Fix bug in case sensitivity change, see 11940.
* Allow types wider than int in \x{} expressions (for char32_t etc), see 11988.
Test:
* Boost.test v3.3 see the Change log section for more details.
* New features
dataset driven test-cases have now a unique name and all sample tests of a \
dataset live inside the same test suite
Boost.test learned a new command line switch, --logger for setting a test logger \
as well as its parameter in one command
Boost.test learned to have several loggers at the same time, each of which \
having their own log level and output stream
Boost.test learned a new logger, JUNIT, that is able to output Junit/xUnit \
compatible streams
It is now possible to specify several test filters through the environment \
variable BOOST_TEST_RUN_FILTERS
* Bug fixes
Trac tickets 8707, 8834, 11128, 11845, 11859, 12024,
Trac tickets 12093, 12103, 12224, 12241, 12257, 12378
Thread:
* 12102 condition_variable_fwd.hpp fails to compile when \
BOOST_THREAD_PROVIDES_INTERRUPTIONS is disabled
* 12120 Performance improvement in thread/barrier.hpp
* 12146 make_exceptional_future is not mentioned in the docs
* 12202 shared_lock should be in shared_mutex header
* 12371 boost thread/future.hpp fails to build
* 88 fix typos in boost::upgrade_lock
* 89 fix a bug in upgrade_to_unique_lock<>::operator=()
* 90 fix a bug in try_lock_wrapper<>::operator=()
* 91 Add shared_lock_guard to the included lock types
* 92 Fixed compilation with MSVC-8.
* 93 Fix variable shadowing warnings (Clang)
* 94 fix bugs in boost::barrier
* 95 fix a mistake in boost::completion_latch
* 96 rename async_func.hpp to invoker.hpp.
* 97 fix a mistake in sync_timed_queue<>::pull_until()
TypeIndex:
* ctti_type_index was made constexpr in C++14. Now it is possible to retrieve \
actual name of the type as const char* at compile time. So we can do a lot of \
interesting things at compile time: check namespace of a type, sort types \
according to their lexical representation, check that type is a template type \
and so on... A few examples were provided.
* Fixed issue with noexcept on MSVC in type names and issue with space in type \
name (pulled from klemens-morgenstern/develop)
* Fixed typos pull-request 7
* Improved CI testing
Unordered:
* Remove use of deprecated boost::iterator.
* Fixed an exception safety issue in assignment of unordered_multiset and \
unordered_multimap.
* See the changelog for more details.
Variant:
* Fixed variant construction from classes derived from variant 7120, 10278, 12155
* Variant constructors and assignment operators now do not participate in \
overload resolutions if variant can not hold the input type 5871, 11602
* Fixed the issue with implicit conversion operator in C++11 8555
* Fixed comparisons when variant holds non-const reference 11751
* Fixed noexcept for variant's move-assignment 11696
* Fixed double quotes in includes 12057
* Dropped BOOST_VARIANT_NO_REFERENCE_SUPPORT macro and dropped support for \
compilers without SFINAE 12250
* Suppress implicit instantiation of MPL end iterator
* Multiple minor fixes (typos, missing includes)
|
2016-05-13 22:47:32 by Adam Ciarcinski | Files touched by this commit (15) |
Log message:
Changes 1.61.0:
New Libraries:
--------------
Compute:
Parallel/GPU-computing library
DLL:
Library for comfortable work with DLL and DSO. Library provides a portable \
across platforms way to:
* load libraries
* import any native functions and variables
* make alias names for C++ mangled functions and symbols
* query libraries for sections and exported symbols
* self loading and self querying
* getting program and module location by exported symbol
Hana:
A modern C++ metaprogramming library. It provides high level algorithms to \
manipulate heterogeneous sequences, allows writing type-level computations with \
a natural syntax, provides tools to introspect user-defined types and much more.
Metaparse:
A library for generating compile time parsers parsing embedded DSL code as part \
of the C++ compilation process. The library is similar to Spirit, however while \
parsers built with Spirit parse at run-time, parsers built with Metaparse parse \
at compile-time.
|
2016-02-29 00:54:11 by Min Sik Kim | Files touched by this commit (3) |
Log message:
Make bjam.mk aware of gcc-5.x
Bump PKGREVISION for boost-{headers,libs}.
|