Path to this page:
Subject: CVS commit: pkgsrc
From: Ryo ONODERA
Date: 2019-07-01 06:00:10
Message id: 20190701040011.0C1C2FBF4@cvs.NetBSD.org
Log Message:
Update to 1.70.0
Changelog:
New Libraries
Outcome: A set of tools for reporting and handling function failures in \
contexts where directly using C++ exception handling is unsuitable, from Niall \
Douglas.
Histogram: Fast and extensible multi-dimensional histograms with convenient \
interface for C++14, from Hans Dembinski.
Updated Libraries
Asio:
This release includes a number of new features, bug fixes, performance \
enhancements, and documentation improvements. Notable changes include:
Added the ability to use custom I/O executors with I/O objects (such \
as sockets).
Added a new async_result form with an initiate static member function.
Updated the Coroutines TS support and promoted it to the asio namespace.
Added a new DynamicBuffer_v2 concept which is CopyConstructible.
Added a new async_compose function that simplifies the \
implementation of user-defined asynchronous operations.
Added a make_strand helper function.
Relaxed the completion condition type requirements to only require \
move-constructibility rather than copy-constructibility.
Added a constructor for local::basic_endpoint that takes a string_view.
Added the noexcept qualifier to various functions.
Added a new BOOST_ASIO_DISABLE_VISIBILITY configuration #define.
Enabled recycling of the memory used to type-erase a function object \
with the polymorphic executor.
Changed receive operations to return the correct number of bytes \
transferred when truncation (error::message_size) occurs on a datagram-oriented \
socket.
Fixed calculation of absolute timeout when the backend uses \
pthread_cond_timedwait.
Changed the range-based asynchronous connect operation to deduce the \
EndpointSequence iterator type.
Fixed buffer_sequence_begin and buffer_sequence_end to prevent \
implicit conversion.
Ensured SSL handshake errors are propagated to the peer before the \
local operation completes.
Suppressed the eof error on SSL shutdown as it actually indicates \
success.
Added a fallback error code for when we OpenSSL produces an \
SSL_ERROR_SYSCALL result without an associated error.
Changed composed asynchronous read and write operations to move \
buffer sequence objects.
Fixed a macOS-specific warning about the deprecation of OSMemoryBarrier.
Fixed compile errors that occur when using the composed read and \
write operations with MSVC 11.0.
Improved dispatch, post and defer documentation.
Fixed a Windows-specific memory leak that may occur when \
system_executor is used.
Consult the Revision History for further details.
Beast: BIG Update!!!
Some APIs have changed.
The reference shows a star ★ next to each new item.
Beast needs your help!
Tell Us how you or your company use Beast
Please report any bugs, feature requests, or general feedback
Join the C++ Slack Workspace for free and chat with us in the #beast \
and #boost channels
Don't forget to star the repository ⭐!
More tutorials, code like the pros!
Networking Refresher teaches you from the ground up.
Updated Asynchronous Echo example
Updated Detect SSL composed operation tutorial
websocket-chat-multi threaded chat server with a JavaScript browser \
client
basic_stream and tcp_stream offer:
Timeouts: async_read_some, async_write_some complete with \
error::timeout on expiration!
Traffic-shaping policies simple and unlimited, or a user-defined \
RatePolicy!
Put the strand directly on the socket using P1322R0, no more \
bind_executor at call sites!
Base classes async_base and stable_async_base and handle all composed \
operation boilerplate for you.
ssl_stream provides a movable, assignable SSL stream with a flat write \
optimization.
All asynchronous operations use Asio's async_initiate for efficient \
integration with Coroutines TS.
⚡ faster compilation, define BOOST_BEAST_SEPARATE_COMPILATION and \
#include <boost/beast/src.hpp> in one of your .cpp files!
See the full Release Notes for a complete list of changes.
Context:
#91: cleanup of stack if creating ucontext fails
#97: add missing BOST_CONTEXT_DECL in stack_context
#98: fix jump_i386_sysv_macho writing garbage to the x87 control word
Coroutine2:
#28: don't crash on pthread_cancel
DLL:
New macro BOOST_DLL_USE_STD_FS. Define it to 1 to make the Boost.DLL use \
C++17's std::filesystem::path, std::system_error and std::error_code (#21). Note \
that exception types change from boost::system::system_error to \
std::system_error, so make sure to update catches.
Significant rewrite of the dynamic loadable detection and decoration \
logic. More precise errors are now reported in case of loading failures. Added \
shared_library::decorate() function that returns a decorated path to the library \
without doing any platform related queries and detections. Prefer using \
shared_library::load and shared_library constructors for better results (many \
thanks to Loïc Touraine for the work PR#23).
CI hardening, docs updates, typos fixes, cleanups and mg
#196: fix high contention on remote_ready_splk_
Filesystem:
Fixed a few instances of dereferencing std::string::end() in path \
implementation.
Fixed program termination in case of out of memory condition in \
directory iteratorsnce to error_code. (#58)
Fixed possible linking errors caused by missing definitions of static \
members of path. (#12759)
Fixed possible use of uninitialized data in directory iterator increment \
operation on Linux.
Added support fortatus query overloads for directory_entry. This avoids \
a relatively expensive OS query when file status is requested for a result of \
dereferencing a directory iterator. (PR#55)
Reworked current_path and read_symlink implementation to avoid \
possiblfilesystems. The functions now have an internal limit of the path size \
they will accept from the OS, which is currently 16 MiB.
Increased the size of the internal buffer used by copy_file.
Integer:
Added Extended Euclidean Algorithm and Modular Multiplicative Inverse \
function. (Nick Thompson, PR#11)
Log:
New features:
Added support for generating another log file name before collecting \
the file in the text file sink backend. This allows to combine appending to \
aexisting log file with timestamps and file counters in log filenames, and, \
consequently, file collection in general.
See changelog for more details.
Math:
New features:
Add Lanczos smoothing derivatives
Move numols/ to boost/math/differentiation/finite_difference.hpp.
Add mean, variance, skewness, kurtosis, median, Gini coefficient, \
and median absolute deviation to tools/univariate_statistics.hpp.
Add correlation coefficients and covariand absolute Gini \
coefficient, Hoyer sparsity, oracle SNR, and the M[sub 2]M[sub 4] SNR estimator \
to tools/signal_statistics.hpp.
Add total variation, l0, l1, l2, and sup norms, as well as \
corresponding distance functions to tools/norms.hpp.
for polynomials, support complex coefficients, add .prime() and .integrate() \
methods.
Add quadratic_roots to tools/roots.hpp.
Add support for complex-valued functions to Newton's method in roots.hpp.
Add Catmull-Rom inted mp_invoke to mp_invoke_q
Added mp_similar
Added mp_set_union, mp_set_intersection, mp_set_difference
Added mp_not_fn
Added mp_transform_first, mp_transform_second, mp_transform_third
Added mp_filter
Addedp_valid_q
Added mp_back, mp_pop_back
Multi-index Containers:
size_type and difference_type are now defined as the allocator's \
same-named types. This will not make any difference in the vast majority of \
cases, but allows for some degreevia user-defined allocator types (see issue #17 \
for motivation). For the moment being, this change is not documented in the \
reference section (i.e., it has semi-official status).
Maintenance work.
Multiprecision:
Fix various conversioncheck for compatibility with Boost.Optional.
Prevent instantiation of std::numeric_limits on any old type when \
checking for convertibility. See #98.
Update variable precision code to account for arbitrary precision \
integers. See #103.
lization archives.
Fix bug in fixed precision iostream formatting in mpf_float and \
mpfr_float. See #113.
Add more overloads for special functions which are better handled \
natively by MPFR.
Fixed bug in generic exp implementation wh.
Fixed generic conversion from float to integer to avoid undefined \
behaviour. See #110.
PolyCollection:
Improved handling of stateful allocators and allocator propagation \
traits, after an error reported by Billy O'Neal (PR#9).
ug with an internal cache structure.
Spirit:
Removed use of deprecated boost/detail/iterator.hpp header. PR#432
X3
Integer parsers should now handle user defined types. PR#429
Note: The check_overflow trait defan \
std::numeric_limits<T>::is_bounded instead of \
boost::integer_traits<T>::is_integral.
Removed sequence into plain parsing. Now it triggers a compile time \
error instead of silently parsing the the sequence and taking the last value as \
a resulte_rule instantiation with BOOST_SPIRIT_INSTANTIATE when:
A rule has no attribute. PR#455
An actual attribute is not of type a rule was declared with. \
PR#456 #457
A huge thanks goes out to Xeverous for reporting Fixed unneded \
attribute synthesization and no-transformation attribute reference pass-through \
in rules. #444 PR#449 PR#452
Removed broken 1.0#INF parser. It was poorly documented and never \
worked. #415 PR#458 #8699
The undocumenoved due to bugs PR#449 and to simplify attribute \
transformation. PR#460
If you were using it to workaround bugs in attribute transformation \
- they should not be needed anymore as of this release.
The integer value parser now respe10 value. PR#469
Fixed underflow check for a (Min % Base) == 0 corner case. PR#469
Fixed an output value on overflow of IgnoreOverflowDigits=true \
integer parser. PR#470
Container attribute elements were copyied, but notial handling of \
references in transform_attribute was removed. PR#480
V2
Macro name collisions and namespace conflicts with Boost.Endian were \
fixed. PR#349 PR#482
utree
Fixed UB in tag getter due to left shi Fixed \
double-conversion (spirit::string -> std::string -> spirit::string). \
PR#462
Qi
Added static asserts for rule skipper type problems. PR#427
The check_overflow trait default implementation now \
reoost::integer_traits<T>::is_integral PR#429
Integer parsers should now handle user defined types. PR#429
Note: The check_overflow trait default implementation now relies \
on std::numeric_limits<T>::is_bounded instead of boosl.
Removed broken 1.0#INF parser. It was poorly documented and \
never worked. #415 PR#458 #8699
The undocumented make_attribute trait was merged into \
transform_attribute trait. PR#471
The pre_transform, post_tility functions were removed in favor \
of directly using pre/post/fail of the transform trait. PR#467
The integer value parser now respects \
std::numeric_limits<T>::digits10 value. PR#469
Fixed underflow check for a (Min % B Fixed an output \
value on overflow of IgnoreOverflowDigits=true integer parser. PR#470
Special handling of references in transform_attribute was \
removed. PR#480
Lex
Fixed UB in default constructor of ken type. PR#420
Classic:
Fixed position_iterator forming reference to local when the \
underlying iterator dereference operator returns a non-reference type. PR#422 \
#9737
Stacktrace:
Build fix for iOS 32-bit ARM (many thanksng the fix PR#70)
Fixed multiple typos, warnings and updated the docs.
Test:
Boost.test v3.10 see the Changes log for more details.
Breaking changes:
Boost.Test minimal.hpp is now showing a deprecation warning,
omparison may fail tests that were silently not using the floating point \
comparison logic prior to this release,
Internal API change to unit_test_log_formatter, see detailed change log,
New feature:
Floating point compariso non-floating point and arithmetic operands: \
expressions like BOOST_TEST(3.0001 == 3) now use floating point support of \
Boost.Test,
Custom datasets are not required to declare the sample type field \
anymore,
Extending template test riadic definition,
Windows support for timed tests,
Timed test on test-suites,
Removed dependency to Boost.Timer,
New macro BOOST_TEST_INFO_SCOPE for scoped context declaration,
Improved BOOST_TE and pull requests:
Trac tickets: #7397, #9434, #13106, #13418
GitHub Issues: #133, #138, #141, #157, #160, #174, #176, #177, #180, \
#181, #194, #196, #198, #199, #202, #203, #204
GitHub Pull Requests: PR#171, PR#172, PR PR#195, PR#195, PR#197, PR#205
TypeIndex:
Support for the GHS C++ compiler added (many thanks to Brandon \
Castellano for providing the patch PR#28)
Optimized string and type comparisons (many thanks to Andrey Semashev \
for providing the-win compilation (many thanks to Peter Dimov for providing the \
patch PR#25)
CI hardening.
TypeTraits:
Added is_bounded_array and is_unbounded_array (Glen Fernandes).
Added copy_reference and copy_cv_ref (Glen Fernandes).
/clr option.
Misc compiler compatibility fixes.
Variant:
Many cleanups and internal improvements, many thanks to Nikita Kniazev \
(PR#55, PR#56, PR#57) and Louis Dionne (PR#51)
CI hardening.
uBlas:
Addition of tensorassoy PR#65)
Addition of basic OpenCL support (many thanks to Fady Essam PR#59)
Integration of basic benchmark suite (many thanks to Stefan Seefeld PR#57)
CI integration and hardening
Compilers Tested
Boost's primary test compileang: 3.0, 4.0.1, 6.0.1
Clang, C++0x: 3.0
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 6.0.1, 7.0.0, 8.0.0
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.2, \
6.0.1, 7.0.0, 8.0.0
Clang, C++17: 5.0.2, 6.0.17, 4.5.3, 4.6.3, 5.4.0, 8.0.1
GCC, C++0x: 4.4.7
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
GCC, C++17: 7.3.0, 8.0.1
Intel, C++14: 18.0
OS X:
, 9.1.0, 10.0.0
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
Apple Clang, C++17: 9.1.0, 10.0.0
Apple Clang, C++1z: 9.0.0
Apple Clang, C++2a: 10.0.0
Windows:
GCC: 3.4.4.0, 4.5.4
GCC, C++0x: 4.6.4
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
GCC, C++17: 7.1.0, 7.2.0, 7.3.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
Fr
Clang, C++11: 4.0.0
Clang, C++14: 4.0.0
Clang, C++1z: 4.0.0
Boost's additional test compilers include:
Linux:
Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.0.1
Clang, C++0x: 3.0
Clang, C++11: 3.0, 3.1, 3..0.0, 8.0.0
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.2, \
6.0.1, 7.0.0, 8.0.0
Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
GCC, C++0x: 4.4.7
G9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
GCC, C++14: 5.4.0, 5.5.0, 6.3.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1, 8.1.0
GCC, C++17: 7.3.0, 8.0.1
Intel, C++14: 18.0
OS X:
Apple Clang: 9.0.0, 9.1.0, 10.0.0
Apple Clang, C++11: 9.0.0, 9ang, C++14: 9.0.0, 9.1.0, 10.0.0
Apple Clang, C++17: 9.1.0, 10.0.0
Apple Clang, C++1z: 9.0.0
Apple Clang, C++2a: 10.0.0
Windows:
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
GCC, C++0x: 4.6.4
GCC, C++11 GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
GCC, C++17: 7.1.0, 7.2.0, 7.3.0
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
FreeBSD:
Clang: 4.0.0
Clang, C++11: 4.0.0
Clang, C++14: 4.0.0
Files: