Add the GN argument enable_safe_libstdcxx, that enables libstdc++
lightweight assertions, that protect against different bad conditions
as invalid array indexes.
Bug: 1497935
Change-Id: Icb8e85f47295d258bc5ec7bdd32fa58f06b4dcb2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4994044
Commit-Queue: José Dapena Paz <jdapena@igalia.com>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1266874}
84fb809dd6..68a6f0b882
This brings in a change that changes how libc++'s assertion mode
works. Instead of _LIBCPP_ENABLE_ASSERTIONS there's now
_LIBCPP_ENABLE_SAFE_MODE and _LIBCPP_ENABLE_HARDENED_MODE.
_LIBCPP_ENABLE_HARDENED_MODE only has security checks.
_LIBCPP_ENABLE_SAFE_MODE is virtually identical to
_LIBCPP_ENABLE_ASSERTIONS at the moment, but upstream
wants to remove some asserts from it in the future.
So we'll have to keep an eye on that and make sure none we want
get dropped. https://crbug.com/1465186 has more details.
(This here doesn't update the pnacl-saigo libc++ version, so
that still uses the old _LIBCPP_ENABLE_ASSERTIONS mode.)
The update also deprecates basic_string<unsigned char>. For now
that's behind an
`if !defined(_LIBCPP_CHAR_TRAITS_REMOVE_BASE_SPECIALIZATION)`
but it will be removed in the future. So we'll also have to
remove the uses of that (there aren't that many, but one is
in jnipp which is used by openexr, so that'll take some time
to update), and then define
`_LIBCPP_CHAR_TRAITS_REMOVE_BASE_SPECIALIZATION`. This is
https://1481891.
So there's some follow-up to do after this rolls in.
2023-09-13 d@ilvokhin.com [libc++] Fix minor warnings in libcxx benchmarks
2023-09-13 ldionne.2@gmail.com [libc++] Remove unused CMake option LIBCXX_DISABLE_MACRO_CONFLICT_WARNINGS (#66249)
2023-09-13 ldionne.2@gmail.com [libc++] Reintroduce the removed std::char_traits specialization (#66153)
2023-09-13 zhangyin2018@iscas.ac.cn [libcxx] <experimental/simd> Fix CI errors on 32-bits x86
2023-09-13 varconsteq@gmail.com [libc++][hardening] Make the safe mode pipeline run with modules enabled
2023-09-12 ldionne.2@gmail.com [libc++] Simplify the implementation of locale::id (#65781)
2023-09-12 delta.deltadev.127@gmail.com [libc++] Fix the rotate direction used in countl_zero()
2023-09-12 ldionne.2@gmail.com [libc++][NFC] Remove stray #if 1 that was probably a debugging leftover
2023-09-12 varconsteq@gmail.com [libc++][hardening] Add back the safe mode.
2023-09-12 konstantin.boyarinov@intel.com [libc++][test][NFC] Rewrite map count test and add test case for "final" compare
2023-09-12 ldionne.2@gmail.com [libc++] Add missing std::ranges::join_view to the list of experimental features
2023-09-12 ldionne.2@gmail.com [libc++] Document experimental features in the library (#65994)
2023-09-12 fsb4000@yandex.ru [libc++][test] Add '-Wdeprecated-copy', '-Wdeprecated-copy-dtor' warnings to the test suite
2023-09-12 zhangyin2018@iscas.ac.cn [libcxx] <experimental/simd> Add broadcast constructor of class simd/simd_mask
2023-09-12 zhangyin2018@iscas.ac.cn [libcxx] <experimental/simd> Added internal storage type, constructors, subscript operators of class simd/simd_mask and related tests
2023-09-12 zhangyin2018@iscas.ac.cn [libcxx] <experimental/simd> Added aliagned flag types, traits is_simd_flag_type[_v], memory_alignment[_v] and related tests
2023-09-12 zhangyin2018@iscas.ac.cn [libcxx] <experimental/simd> Added simd width functions, simd_size traits and related tests
2023-09-12 zhangyin2018@iscas.ac.cn [libcxx] <experimental/simd> Add ABI tags, class template simd/simd_mask implementations. Add related simd traits and tests.
2023-09-12 zhangyin2018@iscas.ac.cn [libcxx] <experimental/simd> Removed original implementations and tests
2023-09-12 ldionne.2@gmail.com [libc++] Fix broken test in C++03 mode
2023-09-11 varconsteq@gmail.com [libc++][ranges] Fix a `split_view` test accidentally using `lazy_split`
2023-09-11 ldionne.2@gmail.com [libc++] Mark static variables of locale::id as constinit (#65783)
2023-09-11 ldionne.2@gmail.com [libc++] Use the default initializer for char_type in std::num_get::do_get
2023-09-11 ldionne.2@gmail.com [libc++] Add regression tests for issue #46841
2023-09-11 abrachet@google.com [libcxx] Fix include directory order (#65859)
2023-09-11 zingam@outlook.com [libc++][ranges][NFC] Status page: Adds `enumerate_view` patch
2023-09-10 koraq@xs4all.nl [libc++] Use inline instead of static in headers.
2023-09-09 koraq@xs4all.nl [libc++][nfc] Fixes emacs magic marker.
2023-09-08 varconsteq@gmail.com [libc++][hardening][NFC] Fix the 17 release notes to remove mentions of hardening
2023-09-08 5326451+jakeegan@users.noreply.github.com [libc++][AIX] Remove hardcode fail from format test
2023-09-08 colin@reactos.org [libc++] Fix warnings when compiling libc++ for Windows with clang-cl /W4
2023-09-08 msrlancern@gmail.com [libc++abi] Refactor around __dynamic_cast
2023-09-08 arichardson.kde@gmail.com [libc++] Use intptr_t instead of ptrdiff_t for messages_base::catalog
2023-09-08 ldionne.2@gmail.com [libc++][NFC] Remove dead code in <list> (#65651)
2023-09-08 Daniel.McIntosh@ibm.com [libc++][NFC] tidy up strstreambuf::seekoff and strstreambuf::seekpos
2023-09-08 ldionne.2@gmail.com [libc++][NFC] Run clang-format on strstream.cpp
2023-09-07 xingxue@outlook.com Revert "[libc++][NFC] Remove __has_keyword"
2023-09-07 koraq@xs4all.nl [libc++][chrono] TZDB CI fixes.
2023-09-07 brad@comstyle.com [libc++] Wipe some more macros that do not belong in C++ forwarding headers
2023-09-07 hawkinsw@obs.cr [libc++][doc] Add warning about limitation of --fresh in boostrapping build (#65265)
2023-09-07 jdenny.ornl@gmail.com Revert "[lit] Improve test output from lit's internal shell"
2023-09-07 hawkinsw@obs.cr [libc++] Add support for bootstrapping build in libcxx-lit
2023-09-07 dimitry@andric.com [libc++] Re-enable std::pair trivial copy constructor for FreeBSD >= 14
2023-09-07 asb@igalia.com [libc++][test] Cover RISC-V in string.capacity test
2023-09-07 h.vetinari@gmx.com [libc++] Clean up some minor inconsistencies in the status pages (#65259)
2023-09-06 arthur.j.odwyer@gmail.com [libc++] Add a test for std::ssize's SFINAE
2023-09-06 z.zoelec2@gmail.com [libc++] Add tests for P0809 (Comparing Unordered Containers)
2023-09-06 koraq@xs4all.nl [NFC][libc++] Adds spaces in the CMake output.
2023-09-06 koraq@xs4all.nl [libc++][chrono] Adds tzdb_list implementation.
2023-09-06 koraq@xs4all.nl [libc++][CI] Improves bootstrap build output.
2023-09-06 koraq@xs4all.nl [libc++][C++20 modules] Tests no experimental library build.
2023-09-06 koraq@xs4all.nl [libc++] Renames modules-build.
2023-09-06 yronglin777@gmail.com [libc++] Implement LWG3938 (Cannot use std::expected monadic ops with move-only error_type)
2023-09-06 ldionne.2@gmail.com [libc++] Remove unused include in __threading_support
2023-09-06 ldionne.2@gmail.com [libc++] Fix issue in std.cppm after introducing views::chunk_by
2023-09-06 emaste@freebsd.org [libc++] Switch FreeBSD CI job to Clang 16 (#65422)
2023-09-05 mazkuba3@gmail.com [libc++][ranges] Implement P2443R1: `views::chunk_by`
2023-09-05 varconsteq@gmail.com [libc++][ranges] Add benchmarks for the `from_range` constructors of `vector` and `deque`.
2023-09-05 ldionne.2@gmail.com [libc++][NFC] Remove an outdated UNSUPPORTED annotation
2023-09-05 cebowleratibm@gmail.com [libc++] Avoid destructor call for error_category singletons
2023-09-05 koraq@xs4all.nl [libc++][C++20 modules] Tests no except build.
2023-09-05 koraq@xs4all.nl [libc++][C++20 modules] Tests no wchar_t build.
2023-09-05 koraq@xs4all.nl [libc++][C++20 modules] Enabling in C++20.
2023-09-04 koraq@xs4all.nl [libc++][C++20 modules] Fixes CMake include paths. (#65079)
2023-09-02 nikolasklauser@berlin.de [libc++] Remove _LIBCPP_DISABLE_NODISCARD_AFTER_CXX17 documentation
2023-09-02 nikolasklauser@berlin.de [libc++][NFC] Refactor __enable_if return types to defaulted template parameters
2023-09-02 nikolasklauser@berlin.de [libc++][NFC] Update the remaining enable_ifs
2023-09-01 varconsteq@gmail.com [libc++] Fix Lit config in `string.io`.
2023-09-01 brendan.emery@esrlabs.com [libc++] Apply clang formatting to all string unit tests
2023-09-01 nikolasklauser@berlin.de [libc++] Assume that __BYTE_ORDER__ is always present
2023-09-01 nikolasklauser@berlin.de [libc++] Add lifetimebound attributes to clamp
2023-09-01 ruslan.arutyunyan@intel.com [libcxx][test] Add tests for hash_function() and key_eq() in unordered containers
2023-09-01 varconsteq@gmail.com [libc++] Initialize all member variables of `__state` in `<regex>`
2023-08-31 ldionne.2@gmail.com [libc++] Move once_flag outside of <mutex>
2023-08-31 eric@efcs.ca Remove lit's --summary flag from buildbots.
2023-08-31 ldionne.2@gmail.com [runtimes] Fix some duplicate word typos
2023-08-31 nikolasklauser@berlin.de [libc++][NFC] Remove some dead code
2023-08-30 daltenty@ibm.com Revert "[libc++] Comment out the AIX jobs that are failing"
2023-08-30 koraq@xs4all.nl [libc++][format] Fixes out of bounds access.
2023-08-29 varconsteq@gmail.com [libc++][hardening] Mark the remaining stray assertions as uncategorized
2023-08-29 koraq@xs4all.nl [libc++] Adds __throw_system_error overload.
2023-08-29 koraq@xs4all.nl [libc++][doc] Improves contribution page.
2023-08-29 jdenny.ornl@gmail.com [lit] Improve test output from lit's internal shell
2023-08-29 aaron@aaronballman.com Revert "[clang] Enable sized deallocation by default in C++14 onwards"
2023-08-29 yronglin777@gmail.com [libc++] Implement LWG3464(istream::gcount() can overflow)
2023-08-29 wangpengcheng.pp@bytedance.com [clang] Enable sized deallocation by default in C++14 onwards
2023-08-27 yronglin777@gmail.com Revert "[libc++] Implement LWG3464(istream::gcount() can overflow)"
2023-08-27 yronglin777@gmail.com [libc++] Implement LWG3464(istream::gcount() can overflow)
2023-08-25 ldionne.2@gmail.com [libc++][NFC] Fix typos in comments
2023-08-25 samuel.thibault@ens-lyon.org [libc++] Fix GNU/Hurd build
2023-08-25 lei@ca.ibm.com [PowerPC] Exclude frexp(long double) on linux
2023-08-25 rishabhsbali@gmail.com [libc++]Declaring '__asign_view__' as a non noexcept function
2023-08-25 koraq@xs4all.nl [libc++] Adds string_view constructor overload
2023-08-24 iana@apple.com [libc++][Modules] locale fails to compile with clang modules when _LIBCPP_LOCALE__L_EXTENSIONS is undefined
2023-08-24 ldionne.2@gmail.com [libc++] Temporary workaround to make the CI green again
2023-08-23 whh8b@obs.cr [libcxx][NFC] Update status documentation for stride range view
2023-08-23 koraq@xs4all.nl [libc++][charconv] Adds operator bool.
2023-08-22 koraq@xs4all.nl [NFC][libc++][test] Improve name test file.
2023-08-22 koraq@xs4all.nl [libc++][CI] Moves modules build to C++23.
2023-08-22 koraq@xs4all.nl [libc++][C++20 modules] Tests no unicode build.
2023-08-22 koraq@xs4all.nl [libc++][C++20 modules] Tests no random device build.
2023-08-22 koraq@xs4all.nl [libc++][C++20 modules] Tests no filesystem build.
2023-08-22 koraq@xs4all.nl [libc++][C++20 modules] Tests no threading build.
2023-08-22 koraq@xs4all.nl [libc++][C++20 modules] Tests no locale build.
2023-08-22 koraq@xs4all.nl [libc++][modules] Generates std.cppm.in.
2023-08-22 koraq@xs4all.nl [libc++][CI] Test std module in C++26 mode.
2023-08-22 koraq@xs4all.nl [libc++][modules] Simplifies C++20 module testing.
2023-08-20 koraq@xs4all.nl [libc++][doc] Marks LLVM-17 release notes as final.
2023-08-20 yronglin777@gmail.com [libc++][expected] Implement LWG3836
2023-08-19 nikolasklauser@berlin.de [libc++][NFC] Remove __has_keyword
2023-08-19 nikolasklauser@berlin.de [libc++] Make everything in namespace std have default type visibility and hidden visibility and remove _LIBCPP_ENUM_VIS
2023-08-19 koraq@xs4all.nl [libc++] Fixes disabling wide character.
2023-08-19 koraq@xs4all.nl [NFC][libc++] Removes no longer existing define.
2023-08-19 kim.grasman@gmail.com [docs] Fix include-what-you-use example
2023-08-19 koraq@xs4all.nl [libc++][test] Fixes a typo in UNSUPPORTED.
2023-08-19 kazu@google.com Fx typos in documentation
2023-08-18 nikolasklauser@berlin.de [libc++][NFC] Refactor enable_ifs in defaulted arguments to defaulted template arguments
2023-08-18 ldionne.2@gmail.com [libc++] Change _LIBCPP_CONSTEXPR_SINCE_XXX to constexpr in the dylib
2023-08-18 iana@apple.com [libc++][Modules] Simplify the __std_clang_module header generation
2023-08-17 koraq@xs4all.nl [libc++][CI] Fixes error messages.
2023-08-17 koraq@xs4all.nl [libc++][chrono] Fixes FreeBSD tests.
2023-08-17 koraq@xs4all.nl [NFC][libc++][test] Fixes a copy-paste error.
2023-08-17 ldionne.2@gmail.com [libc++] Fix a few incorrect CMake configuration options
2023-08-15 nikolasklauser@berlin.de [libc++][PSTL] Add a __parallel_sort implementation to libdispatch
2023-08-15 nikolasklauser@berlin.de [libc++][NFC] Refactor return type enable_ifs to defaulted template arguments
2023-08-15 nikolasklauser@berlin.de [libc++] Simplify is_convertible
2023-08-15 kim.grasman@gmail.com [docs] Fix reST formatting in UsingLibcxx IWYU section
2023-08-15 koraq@xs4all.nl [libc++][CI] Removes an ASAN work-around.
2023-08-15 ldionne.2@gmail.com [libc++][NFC] Update comment in transitive_includes.gen.py to make it easier to re-run
2023-08-15 ldionne.2@gmail.com [libc++] Comment out the AIX jobs that are failing
2023-08-14 nikolasklauser@berlin.de [libc++] Fix problems with GCC 13 and switch to it in the CI
2023-08-14 nikolasklauser@berlin.de [libc++][PSTL] Simplify the partitioning algorithm until we have better data to know how to chunk better
2023-08-14 iana@apple.com [libc++][Modules] Generate the __std_clang_module header
2023-08-14 iana@apple.com [libc++][Modules] Remove unnecessary `requires` from the module map
2023-08-14 ccotter14@bloomberg.net Fix typos in documentation
2023-08-12 kalinin.de@phystech.edu [libc++] Fix the signature of std::rotl and std::rotr
2023-08-11 edoardo.sanguineti222@gmail.com [libc++] Optimize internal function in <system_error>
2023-08-11 iana@apple.com [libc++] Move header_information.py up from tests
2023-08-11 iana@apple.com [libc++] Remove non-existent headers from header_information.py
2023-08-11 ldionne.2@gmail.com [runtimes][NFC] Remove stray whitespace on extern C comments
2023-08-11 nikolasklauser@berlin.de [libc++][NFC] Remove the old PSTL headers
2023-08-11 michael.platings@arm.com [libc++][test] Fix max_size test for Arm big endian
2023-08-11 piotr@fusion-lang.org [libc++][tests] Fix a test exercising incorrect overload
2023-08-11 kazu@google.com [libcxx] Fix typos in documentation
2023-08-10 nikolasklauser@berlin.de [libc++] Remove P2554R0 from the status paper, since it's also part of P0009R18
2023-08-10 nikolasklauser@berlin.de [libc++] Remove P2553R1 from the status page, since it's been part of P0009R18
2023-08-10 piotr@fusion-lang.org [libc++] Work around dynamic linking of stringstream::str() on Windows
2023-08-10 koraq@xs4all.nl [libc++][CI] Upgrades to LLVM 18 as HEAD version.
2023-08-10 ldionne.2@gmail.com [libc++] Use _LIBCPP_VERBOSE_ABORT from __throw_bad_alloc
2023-08-10 ldionne.2@gmail.com [libc++] Clean up mess around __throw_runtime_error
2023-08-09 nikolasklauser@berlin.de [libc++] Remove generic char_traits implementation
2023-08-09 zijunzhao@google.com Update RangesAlgorithm status
2023-08-09 koraq@xs4all.nl [libc++][modules] Removes the module partitions.
2023-08-09 koraq@xs4all.nl [libc++][doc] Updates format related release notes.
2023-08-08 ldionne.2@gmail.com [libc++] Assume that coroutines are available in C++20
2023-08-08 ldionne.2@gmail.com [libc++] Temporarily allow AIX builders to fail
2023-08-08 ldionne.2@gmail.com [libc++][NFC] Add missing license to test file
2023-08-08 ldionne.2@gmail.com [libc++] Remove variables that are not necessary anymore inside header_information.py
2023-08-08 ldionne.2@gmail.com [libc++] Deflake the Clang Modules CI job
2023-08-07 eymenunay@outlook.com [libcxx] Fix typo in comments
2023-08-07 gonzalob@nvidia.com [libc++][PSTL] Parallelize random_access_iterator
2023-08-04 varconsteq@gmail.com [libc++][PSTL] Disable `-Wpass-failed`.
2023-08-04 varconsteq@gmail.com [libc++][print] Mark some more `<print>` tests as requiring a file system.
2023-08-04 crtrott@sandia.gov [libc++][mdspan] Fix layout_left::stride(r)
2023-08-04 martin@martin.st [libcxx] Respect CMAKE_MSVC_RUNTIME_LIBRARY wrt whether to use the debug CRT
2023-08-04 martin@martin.st [libcxx] [test] Deduplicate setting parameters for clangcl test configs. NFC.
2023-08-04 nikolasklauser@berlin.de [libc++][libunwind] Fixes to allow GCC 13 to compile libunwind/libc++abi/libc++
2023-08-04 varconsteq@gmail.com [libc++][print] Make `<print>` tests require file system support.
2023-08-04 varconsteq@gmail.com [libc++][hardening][NFC] Rework the Lit feature for detecting the hardening mode.
2023-08-03 nikolasklauser@berlin.de [libc++] Update clang-tidy configuration for the tests
2023-08-03 nikolasklauser@berlin.de [libc++] Fix PSTL status
2023-08-03 nikolasklauser@berlin.de [libc++][NFC] Replace typedefs with using in the math headers
2023-08-02 nikolasklauser@berlin.de [libc++][NFC] Refactor the enable_ifs in the math headers
2023-08-02 koraq@xs4all.nl [libc++][PSTL] Adds a missing include.
2023-08-02 koraq@xs4all.nl [NFC][libc++][format] Switches to from_range constructor.
2023-08-02 fox@scene.pl [libc++] Fix `std::out_of_range` thrown from `basic_stringbuf::str() &&`
2023-08-01 nikolasklauser@berlin.de [libc++] Optimize ranges::find for vector<bool>
2023-08-01 koraq@xs4all.nl [libc++][PSTL] Silence clang-tidy errors.
2023-08-01 martin@martin.st [libcxx] Add release notes for Windows wide stdio stream handling
2023-08-01 nikolasklauser@berlin.de [libc++][PSTL] Add vectorization annotations when clang is used
2023-08-01 nikolasklauser@berlin.de [libc++][PSTL] Fix std::copy frontend dispatching
2023-08-01 nikolasklauser@berlin.de [libc++][NFC] Format math headers
2023-08-01 nikolasklauser@berlin.de [libc++][NFC] Remove std:: qualifications from math headers
2023-08-01 nikolasklauser@berlin.de [libc++] Granulaize math.h and move the functions to std::__math
2023-07-31 koraq@xs4all.nl [libc++][modules] Improves export validation.
2023-07-31 koraq@xs4all.nl [libc++][modules] Fixes exporting named declarations.
2023-07-31 koraq@xs4all.nl [libc++][test] Fixes using modules in the test suite.
2023-07-31 koraq@xs4all.nl [libc++][CI] Update tools in Docker.
2023-07-29 iana@apple.com [libc++][Modules] Fix a few module related warnings
2023-07-28 martin@martin.st [libcxx] Allow linking against the MSVC static CRT
2023-07-28 andrew.ng@sony.com [libcxx] [test] Make set_windows_crt_report_mode.h more explicit
2023-07-28 martin@martin.st [libcxx] [test] Fix running tests with Clang-cl in Debug mode
2023-07-28 nikolasklauser@berlin.de [libc++][NFC] Format __bit_reference
2023-07-28 nikolasklauser@berlin.de [libc++][NFC] Move libc++-specific unique_ptr test to test/libcxx
2023-07-28 nikolasklauser@berlin.de [libc++][NFC] Replace _VSTD with std in __bit_reference
2023-07-28 nikolasklauser@berlin.de [libc++][NFC] Replace typedefs with using in __bit_reference
2023-07-27 varconsteq@gmail.com [libc++][ranges] Fix `ranges::to` test.
2023-07-27 varconsteq@gmail.com [libc++] Increase the constexpr steps limit on some `bitset` tests.
2023-07-27 nikolasklauser@berlin.de [libc++] Replace _LIBCPP_INLINE_VISIBILITY with _LIBCPP_HIDE_FROM_ABI in __bit_reference
2023-07-27 nikolasklauser@berlin.de [libc++] Simplify single-iterator __bit_iterator algorithm specializations
2023-07-27 iana@apple.com [libc++][Modules] Recreate the top level `std` clang module
2023-07-26 koraq@xs4all.nl [libc++] Renames nasty_macro test.
2023-07-25 crtrott@sandia.gov [libc++][mdspan] Fix uglification, categorize asserts and move tests
2023-07-25 koraq@xs4all.nl [libc++][doc] Adds LLVM 18.0.0 release nostes.
2023-07-25 koraq@xs4all.nl [libc++] Disables a test in clang-18.
2023-07-25 crtrott@sandia.gov [libc++][mdspan] Implement std::mdspan class
2023-07-25 tobias@hieta.se Bump trunk version to 18.0.0git
2023-07-25 nikolasklauser@berlin.de [libc++] Fix template parameter naming and enforce it through readability-identifier-naming
2023-07-25 advenam.tacet@trailofbits.com [NFC] Fix release notes about ASan
2023-07-24 varconsteq@gmail.com [libc++][hardening] Categorize more assertions.
2023-07-24 advenam.tacet@trailofbits.com [NFC][libc++] Update comments to reflect changes in ASan
2023-07-22 koraq@xs4all.nl [libc++][doc] Uses the proper paper number.
2023-07-22 koraq@xs4all.nl [libc++][print] Adds stdout functions.
2023-07-21 varconsteq@gmail.com [libc++][hardening] Don't trigger uncategorized assertions in the hardened mode.
2023-07-21 varconsteq@gmail.com [libc++][ranges] Implement `ranges::to`.
2023-07-21 varconsteq@gmail.com [libc++][hardening][NFC] Rename `HardenedMode.rst` to `Hardening.rst`.
2023-07-20 nikolasklauser@berlin.de [libc++][PSTL] Implement std::sort
2023-07-20 ldionne.2@gmail.com [libc++] Make sure we use the libdispatch backend on Apple platforms
2023-07-20 iana@apple.com [libc++][Modules] Make top level modules for all C++ headers with OS/clang versions
2023-07-20 ldionne.2@gmail.com [libc++][NFC] Fix synopsis comments in cout tests
2023-07-20 varconsteq@gmail.com [libc++][hardening] Categorize most assertions inside the container classes.
2023-07-20 koraq@xs4all.nl [libc++][print] Disables tests with (hw)asan.
2023-07-20 yronglin777@gmail.com [libc++][ranges] Implement P2474R2(`views::repeat`).
2023-07-20 advenam.tacet@trailofbits.com [ASan][libc++] Annotating std::deque with all allocators
2023-07-20 edoardo.sanguineti222@gmail.com [libc++] Fix tests for the runtime assertions in <barrier>
2023-07-20 haowei@google.com [libcxx] Fix copy_move.pass test
2023-07-19 ldionne.2@gmail.com [libc++] Revert "[libcxx] Fix copy_move.pass test"
2023-07-19 haowei@google.com [libcxx] Fix copy_move.pass test
2023-07-19 ldionne.2@gmail.com [libc++] Temporarily disable back-deployment testing on arm64 until we figure out ongoing issues
2023-07-19 ldionne.2@gmail.com [libc++][NFC] Fix annoying line break in test synopsis comment
2023-07-19 edoardo.sanguineti222@gmail.com [libc++] Add basic runtime assertions to <semaphore>
2023-07-19 koraq@xs4all.nl [libc++][print] Disables tests with msan.
2023-07-19 fox@scene.pl [libc++] Work around dynamic linking of stringbuf::str() on Windows
2023-07-19 martin@martin.st [libcxx] Link to fewer MSVC CRT libraries
2023-07-19 andrew.ng@sony.com [libcxx] [test] Remove a stray double space from a test config. NFC.
2023-07-18 koraq@xs4all.nl [libc++][test] Fixes transitives includes.
2023-07-18 koraq@xs4all.nl [libc++][print] Fixes tests.
2023-07-18 koraq@xs4all.nl [libc++][format] Fixes times before epoch.
2023-07-18 koraq@xs4all.nl [libc++][format] Improves diagnostics.
2023-07-18 koraq@xs4all.nl [libc++][format] Improves run-time diagnostics.
2023-07-18 koraq@xs4all.nl [libc++][format] Improves compile-time diagnostics.
2023-07-18 koraq@xs4all.nl [NFC][libc++][format] Generalizes bracket parsing.
2023-07-18 koraq@xs4all.nl [libc++][print] Adds FILE functions.
2023-07-18 ldionne.2@gmail.com [libc++] Encode the version in the ReleaseNotes file
2023-07-18 pateldeev@nevada.unr.edu [libc++][LWG 2996] Implement c++20 shared_ptr rvalue overloads.
2023-07-18 varconsteq@gmail.com [libc++][ranges] Implement the changes to node-based containers from P1206 (`ranges::to`):
2023-07-18 koraq@xs4all.nl [libc++][chrono] Fixes month inc and dec operations.
2023-07-17 ldionne.2@gmail.com [libc++] Remove broken self test for the libc++ Lit format
2023-07-17 ldionne.2@gmail.com [libc++] Use _LIBCPP_VERBOSE_ABORT in a few remaining __throw_FOO functions
2023-07-17 nikolasklauser@berlin.de [libc++][NFC] Remove unused macro definition
2023-07-17 ldionne.2@gmail.com [libc++] Move _LIBCPP_NO_THREAD_SAFETY_ANALYSIS to __config
2023-07-17 koraq@xs4all.nl [libc++][doc] Updates the release notes.
2023-07-17 koraq@xs4all.nl [libc++][format] Fixes an off by one error.
2023-07-17 ldionne.2@gmail.com [libc++][NFC] Remove unnecessary declarations in __thread/id.h
2023-07-17 ldionne.2@gmail.com [libc++][NFC] clang-format __thread/id.h since it just got moved
2023-07-17 ldionne.2@gmail.com [libc++] Remove internal "build-with-external-thread-library" configuration
2023-07-16 fox@scene.pl [libc++] Implement stringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer)
2023-07-16 fox@scene.pl [libc++] Implement ostringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer)
2023-07-16 koraq@xs4all.nl [NFC][libc++] Fixes some comments.
2023-07-15 iana@apple.com [libc++][Modules] Restore the <string> include to <__format/format_functions.h>
2023-07-15 koraq@xs4all.nl [libc++] Adds a missing include.
2023-07-15 fox@scene.pl [libc++][tests] Fix a test testing wrong class
2023-07-15 koraq@xs4all.nl [NFC][libc++][bitset] Refactors constructors.
2023-07-15 edoardo.sanguineti222@gmail.com [libc++] add basic runtime assertions to <barrier>
2023-07-15 koraq@xs4all.nl [libc++][chrono] Fixes formatter duration.
2023-07-15 koraq@xs4all.nl [libc++] Fixes thread::id's operator<<.
2023-07-15 nikolasklauser@berlin.de [libc++][NFC] Remove redundant defined(_LIBCPP_BUILDING_LIBRARY)
2023-07-15 advenam.tacet@trailofbits.com [libc++] Set correct size at the end of growing std::string
2023-07-15 varconsteq@gmail.com [libc++][hardening] Deprecate `_LIBCPP_ENABLE_ASSERTIONS`.
2023-07-14 crtrott@sandia.gov [libc++][mdspan] Implement default_accessor
2023-07-14 nikolasklauser@berlin.de [libc++][NFC] Update emojis in the buildkite pipeline
2023-07-14 martin@martin.st [libcxx] [test] Skip timezone formatting tests on Windows
2023-07-14 fox@scene.pl [libc++] Implement istringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer)
2023-07-13 poyaoc97@gmail.com [libc++][NFC] Suppress -Wdeprecated-literal-operator
2023-07-13 ldionne.2@gmail.com [libc++] Fix filesystem tests on platforms that don't have IO
2023-07-13 ldionne.2@gmail.com [libc++] Remove BuildKite bridging files that are not needed anymore
2023-07-13 thakis@chromium.org [gn build] Port 2b2e7f6e5727
2023-07-12 ldionne.2@gmail.com [libc++] Fix clock selection in chrono.cpp and filesystem_clock.cpp
2023-07-12 nikolasklauser@berlin.de [libc++][PSTL] Add a GCD backend
2023-07-12 edoardo.sanguineti222@gmail.com [libc++] add test for latch ctor
2023-07-12 edoardo.sanguineti222@gmail.com [libc++] mark barrier constructor as explicit in <barrier>
2023-07-12 ldionne.2@gmail.com [libc++] Stop running backdeployment CI on macOS 10.9
2023-07-12 ldionne.2@gmail.com [ci] Make libc++ and Clang CI scripts independent
2023-07-12 varconsteq@gmail.com [libc++][hardening][NFC] Remove the `LIBCXX_DEBUG_BUILD` CMake variable.
2023-07-12 varconsteq@gmail.com [libc++][hardening][NFC] Add macros to enable hardened mode.
2023-07-12 varconsteq@gmail.com [libc++] Fix an exception safety issue in `forward_list` and add tests.
2023-07-12 nikolasklauser@berlin.de [libc++][PSTL] Fix double-move in std::transform_reduce
2023-07-12 nikolasklauser@berlin.de [clang] Create a buildkite-pipeline.yml file for clang
2023-07-11 koraq@xs4all.nl [libc++][chrono] Fixes formatting duration subseconds.
2023-07-11 koraq@xs4all.nl [libc++][format] Adds a UTF transcoder.
2023-07-11 ldionne.2@gmail.com [libc++] Move __thread_id out of <__threading_support>
2023-07-11 hui.xie0621@gmail.com [libc++] Make `stop_token` experimental
2023-07-10 koraq@xs4all.nl [libc++][format] Granularize formatter_output.
2023-07-10 ldionne.2@gmail.com [libc++] Fix std::move algorithm with trivial move-only types
2023-07-10 ldionne.2@gmail.com [libc++] Add missing include to fix no-localization CI
2023-07-10 ldionne.2@gmail.com [libc++] Remove unnecessary _LIBCPP_VERSION tests
2023-07-10 david.spickett@linaro.org [libcxx] Check MSVC flag directly instead of setting LIBCXX_TARGETING_MSVC
2023-07-09 5326451+jakeegan@users.noreply.github.com [libc++] Fix simple cases of locale name construction
2023-07-08 cschlosser@google.com libcxx: Bring back unsigned return from wcstoull_l
2023-07-08 koraq@xs4all.nl [libc++][doc] Removes clang name in version number.
2023-07-08 koraq@xs4all.nl [libc++][modules] Avoids duplicated exports.
2023-07-08 koraq@xs4all.nl [NFC][libc++] Addresses LWG3905.
2023-07-08 koraq@xs4all.nl [NFC][libc++] Addresses LWG3903.
2023-07-08 koraq@xs4all.nl [libc++][format] Removes unneeded includes.
2023-07-08 koraq@xs4all.nl [NFC][libc++] Addresses LWG3885.
2023-07-08 yronglin777@gmail.com [libc++] Implement LWG3843 (std::expected<T,E>::value() & assumes E is copy constructible)
2023-07-08 iana@apple.com Revert "[libc++] Remove the type_traits includes from limits and new"
2023-07-07 nikolasklauser@berlin.de [libc++][PSTL] Add a missing policy argument in the std::merge test
2023-07-07 ldionne.2@gmail.com [libc++] Make sure we use __ulock on Apple platforms
2023-07-07 ldionne.2@gmail.com [libc++] Add some tests for std::bit_cast using pointers
2023-07-07 iana@apple.com [libc++][Modules] Add missing __fwd includes
2023-07-06 ldionne.2@gmail.com [libc++][NFC] Add 'const' to some operator()
2023-07-06 Nicole.Rabjohn@ibm.com Fixing conflicting macro definitions between curses.h and the standard library.
2023-07-06 varconsteq@gmail.com [libc++][hardening][NFC] Rename the `has-debug-mode` feature to `has-legacy-debug-mode`.
2023-07-06 david.spickett@linaro.org [libcxx] Only add -GR- option to MSVC or clang-cl builds
2023-07-06 ldionne.2@gmail.com [libc++] Fix thread annotations on shared_mutex and shared_timed_mutex
2023-07-05 varconsteq@gmail.com [libc++][ranges] Implement the changes to `basic_string` from P1206 (`ranges::to`):
2023-07-05 ldionne.2@gmail.com [libc++][NFC] Remove leftover entry for <experimental/span> in header_information.py
2023-07-05 nikolasklauser@berlin.de [libc++] Mark LWG2994 as complete and remove Clang from the version
2023-07-05 edoardo.sanguineti222@gmail.com [libc++] add basic runtime assertions to <latch>
2023-07-05 jyknight@google.com [libcxx] Migrate posix_compat.h layer to not use CRT filesystem functions.
2023-07-05 iana@apple.com [libc++][Modules] Remove explicit exports from modules that `export *`
2023-07-05 iana@apple.com [libc++][Modules] Add missing submodules
2023-07-05 koraq@xs4all.nl [libc++][format] Implements formatting pointer.
2023-07-05 koraq@xs4all.nl [NFC][chrono][test] Fixes some tests on Windows.
2023-07-05 ldionne.2@gmail.com [libc++] Synchronize clock selection between chrono.cpp and filesystem_clock.cpp
2023-07-05 ldionne.2@gmail.com [libc++] Reformat status tables
2023-07-04 d@ilvokhin.com Use hash value checks optimizations consistently
2023-07-04 edoardo.sanguineti222@gmail.com [libc++] Use this in lamba capture in <latch>
2023-07-04 fox@scene.pl [NFC][libc++] Fix whitespace in sstream
2023-07-04 ldionne.2@gmail.com [libc++] Avoid including things that require a filesystem in filesytem_clock.cpp
2023-07-04 ldionne.2@gmail.com [libc++][NFC] Sort list of attribute macros in the .clang-format file
2023-07-04 ldionne.2@gmail.com [libc++][NFC] clang-format <shared_mutex>
2023-07-04 hans@chromium.org [libc++] Disable tree invariant check in asserts mode
2023-07-04 nikolasklauser@berlin.de [libc++][NFC] Remove a redundant check for building the library
2023-07-03 iana@apple.com [libc++][Modules] std.functional.__functional.invoke and std.type_traits.underlying_type can't export std.type_traits
2023-07-03 ldionne.2@gmail.com [libc++] Remove support for .fail.cpp tests
2023-07-03 ldionne.2@gmail.com [libc++] Move all the remaining .fail.cpp tests to .verify.cpp
2023-07-03 ldionne.2@gmail.com [libc++] Add missing includes
2023-07-02 ar.ashouri999@gmail.com Fix typo "__is_parititioned_impl" to "__is_partitioned_impl"
2023-07-01 fox@scene.pl [libc++] Implement stringbuf members of P0408R7 (Efficient Access to basic_stringbuf's Buffer)
2023-07-01 koraq@xs4all.nl [libc++][doc] Updates spaceship status.
2023-07-01 koraq@xs4all.nl [libc++] Enables constexpr string tests.
2023-06-30 ar.ashouri999@gmail.com correct misspelled _LIBCPP___TYPE_TRAITS_IS_EQUAILITY_COMPARABLE_H to _LIBCPP___TYPE_TRAITS_IS_EQUALITY_COMPARABLE_H
2023-06-30 n_klauser@apple.com [libc++] Fix std::copy and std::move for ranges with potentially overlapping tail padding
2023-06-30 ldionne.2@gmail.com [libc++] Revert __uninitialized_buffer changes
2023-06-29 iana@apple.com [libc++][Modules] Make module exports consistent with header includes
2023-06-29 varconsteq@gmail.com [libc++] Remove the legacy debug mode.
2023-06-29 ldionne.2@gmail.com [libc++] Stop using __builtin_assume in _LIBCPP_ASSERT
2023-06-29 crtrott@sandia.gov [libc++][mdspan] Implement layout_left
2023-06-29 koraq@xs4all.nl [NFC][libc++] Use a better type_trait to show the intention.
2023-06-29 crtrott@sandia.gov [libc++][mdspan] Implement layout_right
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/libcxx-chromium
Please CC hans@chromium.org,thakis@chromium.org on the revert to ensure that a human
is aware of the problem.
To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: 1471457,1465186,1481891
Change-Id: Ia9a33d481c39b2e1f0ccf531ef6dcdf63cfce234
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4864669
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Owners-Override: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1196420}
This is now a [[noreturn]] function instead of a macro. The macro itself
is kept around for now to avoid having to revert this change in case
another IMMEDIATE_CRASH() is added or there exists such calls somewhere
outside src/ that I'm unaware of.
Bug: None
Change-Id: Ibc7921bf7302c94ce151c83a230af5f11fb7b71d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3999129
Reviewed-by: danakj <danakj@chromium.org>
Auto-Submit: Peter Boström <pbos@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Owners-Override: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1066781}
The clang roll https://crrev.com/c/3889980 includes the lld patch
https://reviews.llvm.org/D133165. With this patch, lld now supports weak
symbols in LLVM bitcode input files when outputting COFF files. This
allows us to use the nondebug assertion handler when building Windows
with ThinLTO enabled.
Cq-Include-Trybots: chromium/try:dawn-win10-x86-deps-rel
Cq-Include-Trybots: chromium/try:win7-rel
Cq-Include-Trybots: chromium/try:win-official,win32-official
Cq-Include-Trybots: chromium/try:win-swangle-try-x86
Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome
Cq-Include-Trybots: chrome/try:win32-pgo,win64-pgo
Bug: 1335422
Change-Id: I139f62c83acec3778628884d135f572e4c4f5ef4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3894313
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Alan Zhao <ayzhao@google.com>
Reviewed-by: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1047103}
This is mostly a reland of commit 84d5f89427
with some changes to resolve issues that resulted in the original commit
being rolled back.
The main difference in this commit is that on Windows, we enable
assertions for libc++, but we do not use our custom handler for nondebug
builds as Windows doesn't support weak symbols (crbug.com/1353463),
which are required for the libc++ assertion handler override mechanism.
Additional changes to get this to work
* Define _LIBCPP_AVAILABILITY_CUSTOM_VERBOSE_ABORT_PROVIDED.
* Disable LibcppHardeningTest.Assertions on Android (crbug.com/1353549).
* Comment fixes.
Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
Cq-Include-Trybots: chromium/try:dawn-win10-x86-deps-rel
Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
Cq-Include-Trybots: chromium/try:mac11-arm64-rel,mac_chromium_asan_rel_ng
Cq-Include-Trybots: chromium/try:win-asan,win7-rel
Cq-Include-Trybots: chromium/try:android-official,fuchsia-official
Cq-Include-Trybots: chromium/try:mac-official,linux-official
Cq-Include-Trybots: chromium/try:win-official,win32-official
Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
Cq-Include-Trybots: chrome/try:linux-pgo,mac-pgo,win32-pgo,win64-pgo
Binary-Size: Size increase due to added assertion checks in libc++
Fuchsia-Binary-Size: Size increase due to added assertion checks in libc++
Bug: 1335422,1353463,1353549
Change-Id: Ia282c7cc27b170c288a3c2d1f508e11be4d356ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3833545
Commit-Queue: Alan Zhao <ayzhao@google.com>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1040015}