2021-07-12 20:46:07 by Adam Ciarcinski | Files touched by this commit (18) | |
Log message:
compiler-rt libunwind libcxx libcxxabi: updated to 12.0.1
What’s New in Libc++ 12.0.0?
New Features
Random device support has been made optional. It’s enabled by default and can \
be disabled by building libc++ with -DLIBCXX_ENABLE_RANDOM_DEVICE=OFF. Disabling \
random device support can be useful when building the library for platforms that \
don’t have a source of randomness, such as some embedded platforms. When this \
is not supported, most of <random> will still be available, but \
std::random_device will not.
Localization support has been made optional. It’s enabled by default and can \
be disabled by building libc++ with -DLIBCXX_ENABLE_LOCALIZATION=OFF. Disabling \
localization can be useful when porting to platforms that don’t support the C \
locale API (e.g. embedded). When localization is not supported, several parts of \
the library will be disabled: <iostream>, <regex>, <locale> \
will be completely unusable, and other parts may be only partly available.
If libc++ is compiled with a C++20 capable compiler it will be compiled in C++20 \
mode. Else libc++ will be compiled in C++17 mode.
Several unqualified lookups in libc++ have been changed to qualified lookups. \
This makes libc++ more ADL-proof.
The libc++ implementation status pages have been overhauled. Like other parts \
documentation they now use restructured text instead of html. Starting with \
libc++12 the status pages are part of libc++’s documentation.
More C++20 features have been implemented. libc++ C++20 Status has the full \
overview of libc++’s C++20 implementation status.
Work has started to implement new C++2b features. libc++ C++2b Status has the \
full overview of libc++’s C++2b implementation status.
API Changes
By default, libc++ will _not_ include the definition for new and delete, since \
those are provided in libc++abi. Vendors wishing to provide new and delete in \
libc++ can build the library with -DLIBCXX_ENABLE_NEW_DELETE_DEFINITIONS=ON to \
get back the old behavior. This was done to avoid providing new and delete in \
both libc++ and libc++abi, which is technically an ODR violation. Also note that \
we couldn’t decide to put the operators in libc++ only, because they are \
needed from libc++abi (which would create a circular dependency).
During the C++20 standardization process some new low-level bit functions have \
been renamed. Libc++ has renamed these functions to match the C++20 Standard. - \
ispow2 has been renamed to has_single_bit - ceil2 has been renamed to bit_ceil - \
floor2 has been renamed to bit_floor - log2p1 has been renamed to bit_width
In C++20 mode, std::filesystem::path::u8string() and generic_u8string() now \
return std::u8string according to P0428, while they return std::string in C++17. \
This can cause source incompatibility, which is discussed and acknowledged in \
P1423, but that paper doesn’t suggest any remediation for this \
incompatibility.
|
2020-07-26 21:20:14 by Adam Ciarcinski | Files touched by this commit (14) | |
Log message:
llvm: updated to 10.0.1
10.0.1:
Bug fix release
|
2020-04-18 10:03:07 by Adam Ciarcinski | Files touched by this commit (8) | |
Log message:
libcxx libcxxabi compiler-rt libunwind: updated to 10.0.0
What’s New in Libc++ 10.0.0?
Fixes
Fixed use of non-default locales on Windows
|
2020-01-26 18:32:28 by Roland Illig | Files touched by this commit (981) |
Log message:
all: migrate homepages from http to https
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
|
2019-12-29 16:31:23 by Adam Ciarcinski | Files touched by this commit (35) | |
Log message:
llvm: updated to 9.0.1
9.0.1 is a bug-fix release.
|
2019-11-03 20:04:09 by Roland Illig | Files touched by this commit (159) |
Log message:
lang: align variable assignments
pkglint -Wall -F --only aligned --only indent -r
No manual corrections.
|
2019-10-24 13:52:21 by Tobias Nygren | Files touched by this commit (8) |
Log message:
more packages with wrong LICENSE tag
|
2019-10-19 15:59:07 by Adam Ciarcinski | Files touched by this commit (11) | |
Log message:
libcxx: updated to 9.0.0
Libc++ 9.0.0
Fixes
Minor fixes to std::chrono operators.
libc++ now correctly handles Objective-C++ ARC qualifiers in std::is_pointer.
std::span general updates and fixes.
Updates to the std::abs implementation.
std::to_chars now adds leading zeros.
Ensure std::tuple is trivially constructible.
std::aligned_union now works in C++03.
Output of nullptr to std::basic_ostream is formatted properly.
Features
Implemented P0608: sane variant converting constructor.
Added ssize function.
Added front and back methods in std::span.
std::is_unbounded_array and std::is_bounded_array added to type traits.
std::atomic now includes many new features and specialization including improved \
Freestanding support.
Added std::midpoint and std::lerp math functions.
Added the function std::is_constant_evaluated.
Erase-like algorithms now return size type.
Added contains method to container types.
std::swap is now a constant expression.
Updates
libc++ dropped support for GCC 4.9; we now support GCC 5.1 and above.
libc++ added explicit support for WebAssembly System Interface (WASI).
Progress towards full support of rvalues and variadics in C++03 mode. std::move \
and std::forward now both work in C++03 mode.
|
2019-08-05 21:06:50 by Adam Ciarcinski | Files touched by this commit (23) | |
Log message:
llvm: updated to 8.0.1
LLVM 8.0.1 is now available! Download it now, or read the release notes.
This release contains bug-fixes for the LLVM 8.0.0 release. This
release is API and ABI compatible with 8.0.0.
|
2019-06-02 10:41:59 by Adam Ciarcinski | Files touched by this commit (7) | |
Log message:
libcxx: updated to 8.0.0:
What’s New in Libc++ 8.0.0?
API Changes
Building libc++ for Mac OSX 10.6 is not supported anymore.
Starting with LLVM 8.0.0, users that wish to link together translation units \
built with different versions of libc++’s headers into the same final linked \
image MUST define the _LIBCPP_HIDE_FROM_ABI_PER_TU macro to 1 when building \
those translation units. Not defining _LIBCPP_HIDE_FROM_ABI_PER_TU to 1 and \
linking translation units built with different versions of libc++’s headers \
together may lead to ODR violations and ABI issues. On the flipside, code size \
improvements should be expected for everyone not defining the macro.
Starting with LLVM 8.0.0, std::dynarray has been removed from the library. \
std::dynarray was a feature proposed for C++14 that was pulled from the Standard \
at the last minute and was never standardized. Since there are no plans to \
standardize this facility it is being removed.
Starting with LLVM 8.0.0, std::bad_array_length has been removed from the \
library. std::bad_array_length was a feature proposed for C++14 alongside \
std::dynarray, but it never actually made it into the C++ Standard. There are no \
plans to standardize this feature at this time. Formally speaking, this removal \
constitutes an ABI break because the symbols were shipped in the shared library. \
However, on macOS systems, the feature was not usable because it was hidden \
behind availability annotations. We do not expect any actual breakage to happen \
from this change.
|