BDE 3.58.0: Production Release¶
Schedule¶
BDE team is pleased to announce that the BDE 3.58.0 production release was completed on Friday, Jul 17, 2020.
BDE 3.58.0 Highlights¶
Using sanitizers¶
The BDE libraries and test drivers can be built and linked with the compiler sanitizer’s modules (for compilers that support them, currently late-model gcc and clang).
The sanitizer module is specified via a ufid flag:
Ufid Flag |
Sanitizer module |
---|---|
asan |
Address Sanitizer |
tsan |
Thread Sanitizer |
ubsan |
Undefined Behaviour Sanitizer |
- Configuring the build flavor with sanitizer support:
$ eval `bde_build_env.py -t dbg_exc_mt_64_asan_cpp17` $ eval `bde_build_env.py --sanitizer=tsan`
Note
Sanitizers can significantly increase the build time of the BDE libraries.
all_of
, any_of
, and none_of
now available in C++03¶
Implementations of the C++11
algorithms any_of
, all_of
, and
none_of
algorithms are now available in the bsl
namespace, even in
C++03
builds.
Fluent interface for bslmt::ThreadAttributes
¶
bslmt::ThreadAttributes
now provides manipulators that return a non-const
reference to the object so that setting individual attributes can be “chained”
into a single expression statement, or that attributes can be “built” in place
as a function argument. For example:
bslmt::ThreadUtil::Handle handle; int status = bslmt::ThreadUtil::create( &handle, bslmt::ThreadAttributes().setThreadName("myName") .setInheritSchedule(true), // <--- Using fluent interface myThreadFunction, &myThreadArgument);
Fixed requests: 3.58.0¶
Summary |
---|
Implementations of ‘bsl::all_of’, ‘bsl::any_of’, ‘bsl::none_of’ |
Supply BDE libraries compiled with ThreadSanitizer enabled |
Decimal64 and the quantum of zero |
bdlmt::FixedThreadPool - ability to set d_threadAttributes after construction |
Suspected UB around bsl function |
bslstl_queue.t.cpp breaks when you run sim_cpp11_features.pl on it |
Review PR for bdlb_bitutil warning |
‘bdlma_smallsequentialpool’: Normalize behaviors with ‘bdlma_sequentialpool’ |
bslma_testallocatormonitor.t.cpp: change of ‘allocate(0)’ |
bdlb::Variant::createInPlace return reference to new object |