@@ -37,8 +37,31 @@ What's New in Libc++ 12.0.0?
37
37
38
38
New Features
39
39
------------
40
+ - Random device support has been made optional. It's enabled by default and can
41
+ be disabled by building libc++ with ``-DLIBCXX_ENABLE_RANDOM_DEVICE=OFF ``.
42
+ Disabling random device support can be useful when building the library for
43
+ platforms that don't have a source of randomness, such as some embedded
44
+ platforms. When this is not supported, most of ``<random> `` will still be
45
+ available, but ``std::random_device `` will not.
46
+ - Localization support has been made optional. It's enabled by default and can
47
+ be disabled by building libc++ with ``-DLIBCXX_ENABLE_LOCALIZATION=OFF ``.
48
+ Disabling localization can be useful when porting to platforms that don't
49
+ support the C locale API (e.g. embedded). When localization is not
50
+ supported, several parts of the library will be disabled: ``<iostream> ``,
51
+ ``<regex> ``, ``<locale> `` will be completely unusable, and other parts may be
52
+ only partly available.
53
+ - If libc++ is compiled with a C++20 capable compiler it will be compiled in
54
+ C++20 mode. Else libc++ will be compiled in C++17 mode.
55
+ - Several unqualified lookups in libc++ have been changed to qualified lookups.
56
+ This makes libc++ more ADL-proof.
57
+ - The libc++ implementation status pages have been overhauled. Like other parts
58
+ documentation they now use restructured text instead of html. Starting with
59
+ libc++12 the status pages are part of libc++'s documentation.
60
+ - More C++20 features have been implemented. :doc: `Cxx2aStatus ` has the full
61
+ overview of libc++'s C++20 implementation status.
62
+ - Work has started to implement new C++2b features. :doc: `Cxx2bStatus ` has the
63
+ full overview of libc++'s C++2b implementation status.
40
64
41
- - ...
42
65
43
66
API Changes
44
67
-----------
0 commit comments