| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[libc++][NFC] Rename the constexpr macros This was discussed on Discord with the consensus that we should rename the macros. Reviewed By: ldionne, Mordante, var-const, avogelsgesang, jloser, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D131498 | 3 年前 | |
[libc++] Merge _LIBCPP_FUNC_VIS, _LIBCPP_TYPE_VIS and _LIBCPP_EXCEPTION_ABI into _LIBCPP_EXPORTED_FROM_ABI These macros are always defined identically, so we can simplify the code a bit by merging them. Reviewed By: ldionne, #libc Spies: libcxx-commits, krytarowski, smeenai Differential Revision: https://reviews.llvm.org/D152652 | 3 年前 | |
[libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x This change is almost fully mechanical. The only interesting change is in generate_feature_test_macro_components.py to generate _LIBCPP_STD_VER >= instead. To avoid churn in the git-blame this commit should be added to the .git-blame-ignore-revs once committed. Reviewed By: ldionne, var-const, #libc Spies: jloser, libcxx-commits, arichardson, arphaman, wenlei Differential Revision: https://reviews.llvm.org/D143962 | 3 年前 | |
[libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x This change is almost fully mechanical. The only interesting change is in generate_feature_test_macro_components.py to generate _LIBCPP_STD_VER >= instead. To avoid churn in the git-blame this commit should be added to the .git-blame-ignore-revs once committed. Reviewed By: ldionne, var-const, #libc Spies: jloser, libcxx-commits, arichardson, arphaman, wenlei Differential Revision: https://reviews.llvm.org/D143962 | 3 年前 | |
[libc++] Fix an exception safety issue in forward_list and add tests. When inserting nodes into a forward list, each new node is allocated but not constructed. The constructor was being called explicitly on the node value_ but the next_ pointer remained uninitialized rather than being set to null. This bug is only triggered in the cleanup code if an exception is thrown -- upon successful creation of new nodes, the last incorrect "next" value is overwritten to a correct pointer. This issue was found due to new tests added in https://reviews.llvm.org/D149830. Differential Revision: https://reviews.llvm.org/D152327 | 2 年前 | |
[libc++][spaceship] P1614R2: Removed global operator!= from allocator Implements parts of P1614R2: - Removed global operator!= from allocator Reviewed By: #libc, Mordante Differential Revision: https://reviews.llvm.org/D152612 | 3 年前 | |
[libc++] Make std::allocator_arg and friends conforming in C++17 This patch makes global tag variables like std::allocator_arg conform to C++17 by defining them as inline constexpr variables. This is possible without creating an ODR violation now that we don't define strong definitions of those variables in the shared library anymore. Differential Revision: https://reviews.llvm.org/D145589 | 3 年前 | |
[libc++] Split __allocator_destructor out of shared_ptr.h Reviewed By: ldionne, huixie90, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D134479 | 3 年前 | |
[libc++][doc] Updates the tasks to do for a release. This is a followup of the review comments in D144499. Reviewed By: ldionne, philnik, #libc Differential Revision: https://reviews.llvm.org/D150585 | 3 年前 | |
[libc++][hardening][NFC] Introduce _LIBCPP_ASSERT_UNCATEGORIZED. Replace most uses of _LIBCPP_ASSERT with _LIBCPP_ASSERT_UNCATEGORIZED. This is done as a prerequisite to introducing hardened mode to libc++. The idea is to make enabling assertions an opt-in with (somewhat) fine-grained controls over which categories of assertions are enabled. The vast majority of assertions are currently uncategorized; the new macro will allow turning on _LIBCPP_ASSERT (the underlying mechanism for all kinds of assertions) without enabling all the uncategorized assertions (in the future; this patch preserves the current behavior). Differential Revision: https://reviews.llvm.org/D153816 | 3 年前 | |
[libc++] Complete the implementation of N4190 Fixes #37402 Reviewed By: ldionne Spies: EricWF, avogelsgesang, libcxx-commits, arphaman Differential Revision: https://reviews.llvm.org/D124346 | 4 年前 | |
[libc++] Add hide_from_abi check for classes We already have a clang-tidy check for making sure that _LIBCPP_HIDE_FROM_ABI is on free functions. This patch extends this to class members. The places where we don't check for _LIBCPP_HIDE_FROM_ABI are classes for which we have an instantiation in the library. Reviewed By: ldionne, Mordante, #libc Spies: jplehr, mikhail.ramalho, sstefan1, libcxx-commits, krytarowski, miyuki, smeenai Differential Revision: https://reviews.llvm.org/D142332 | 3 年前 | |
Fixing conflicting macro definitions between curses.h and the standard library. POSIX allows certain macros to exist with generic names (i.e. refresh(), move(), and erase()) to exist in curses.h which conflict with functions found in std::filesystem, among others. This patch undefs the macros in question and adds them to LIBCPP_PUSH_MACROS and LIBCPP_POP_MACROS. Reviewed By: #libc, philnik, ldionne Differential Revision: https://reviews.llvm.org/D147356 | 2 年前 | |
[libc++][Modules] Make module exports consistent with header includes Some modules export modules that they don't import (i.e. that their header doesn't directly include). That sometimes works when the exported submodule is in the same module, but when the std mega module is broken up (D144322), some of the exports stop working. Make the exports and includes consistent, either by adding includes for the exports, or by removing exports for missing includes. The concepts.equality_comparable export in std.iterator.__iterator.concepts isn't doing anything because 1) it's resolved as std.iterator.__iterator.concepts.equality_comparable and 2) there's a __concepts submodule in between std.concepts and equality_comparable. Fix it to be std.concepts.__concepts.equality_comparable. <span> is listed in both std.span and std.experimental.span. Delete the latter module. There is no __errc module or header, so remove that export from std.system_error. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D153211 | 3 年前 | |
Fixing conflicting macro definitions between curses.h and the standard library. POSIX allows certain macros to exist with generic names (i.e. refresh(), move(), and erase()) to exist in curses.h which conflict with functions found in std::filesystem, among others. This patch undefs the macros in question and adds them to LIBCPP_PUSH_MACROS and LIBCPP_POP_MACROS. Reviewed By: #libc, philnik, ldionne Differential Revision: https://reviews.llvm.org/D147356 | 2 年前 | |
[libc++] Granularize the rest of memory Reviewed By: ldionne, #libc Spies: vitalybuka, paulkirth, libcxx-commits, mgorny Differential Revision: https://reviews.llvm.org/D132790 | 3 年前 | |
[libc++] Add __decay_t and use it instead of decay<>::type This avoids instantiating lots of types. Reviewed By: ldionne, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D146984 | 3 年前 | |
Fixing conflicting macro definitions between curses.h and the standard library. POSIX allows certain macros to exist with generic names (i.e. refresh(), move(), and erase()) to exist in curses.h which conflict with functions found in std::filesystem, among others. This patch undefs the macros in question and adds them to LIBCPP_PUSH_MACROS and LIBCPP_POP_MACROS. Reviewed By: #libc, philnik, ldionne Differential Revision: https://reviews.llvm.org/D147356 | 2 年前 | |
[libc++] Add hide_from_abi check for classes We already have a clang-tidy check for making sure that _LIBCPP_HIDE_FROM_ABI is on free functions. This patch extends this to class members. The places where we don't check for _LIBCPP_HIDE_FROM_ABI are classes for which we have an instantiation in the library. Reviewed By: ldionne, Mordante, #libc Spies: jplehr, mikhail.ramalho, sstefan1, libcxx-commits, krytarowski, miyuki, smeenai Differential Revision: https://reviews.llvm.org/D142332 | 3 年前 | |
[libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x This change is almost fully mechanical. The only interesting change is in generate_feature_test_macro_components.py to generate _LIBCPP_STD_VER >= instead. To avoid churn in the git-blame this commit should be added to the .git-blame-ignore-revs once committed. Reviewed By: ldionne, var-const, #libc Spies: jloser, libcxx-commits, arichardson, arphaman, wenlei Differential Revision: https://reviews.llvm.org/D143962 | 3 年前 | |
[libc++] Use correct size for deallocation of arrays in shared_ptr (#68233) Fixes #68051. Current implementation passes the number of _AlignedStorage objects when it calls to allocate and the number of **bytes** on deallocate. This only applies to allocations that allocate control block and the storage together, i.e. make_shared and allocate_shared. Found by ASan under Clang combined with -fsized-deallocation. (cherry picked from commit f722db02d359e29ca001b78197ee1a275f8c3d7c) | 2 年前 | |
[libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x This change is almost fully mechanical. The only interesting change is in generate_feature_test_macro_components.py to generate _LIBCPP_STD_VER >= instead. To avoid churn in the git-blame this commit should be added to the .git-blame-ignore-revs once committed. Reviewed By: ldionne, var-const, #libc Spies: jloser, libcxx-commits, arichardson, arphaman, wenlei Differential Revision: https://reviews.llvm.org/D143962 | 3 年前 | |
[libc++] Add hide_from_abi check for classes We already have a clang-tidy check for making sure that _LIBCPP_HIDE_FROM_ABI is on free functions. This patch extends this to class members. The places where we don't check for _LIBCPP_HIDE_FROM_ABI are classes for which we have an instantiation in the library. Reviewed By: ldionne, Mordante, #libc Spies: jplehr, mikhail.ramalho, sstefan1, libcxx-commits, krytarowski, miyuki, smeenai Differential Revision: https://reviews.llvm.org/D142332 | 3 年前 | |
[libc++] Revert __uninitialized_buffer changes This patch reverts the following commits: 015cd317eaed28a923d14a33c9d6739012a688be (add missing HIDE_FROM_ABI) 420a204d52205f1277a8d5df3dbafac6082e02e2 (add _LIBCPP_NO_CFI) 31eeba3f7c0e2ef4a21c07da9326a4ae1a8de7e2 (add __uninitialized_buffer) It also reverts a small part of b935ab8e747cf52ff12471879460206a9f433eea which is required to make the stable_partition.pass.cpp test pass on GCC. Some issues were pointed out in https://reviews.llvm.org/D152208 and in https://reviews.llvm.org/D154017, so I am reverting this patch until we have time to weigh the various solutions and get consensus on the design of the API. Differential Revision: https://reviews.llvm.org/D154161 | 3 年前 | |
[libcxx] Use the unoptimized routines for volatile source types As reported in: D147741 Reviewers: philnik, var-const, ldionne, hans Differential Revision: https://reviews.llvm.org/D152571 | 3 年前 | |
Fixing conflicting macro definitions between curses.h and the standard library. POSIX allows certain macros to exist with generic names (i.e. refresh(), move(), and erase()) to exist in curses.h which conflict with functions found in std::filesystem, among others. This patch undefs the macros in question and adds them to LIBCPP_PUSH_MACROS and LIBCPP_POP_MACROS. Reviewed By: #libc, philnik, ldionne Differential Revision: https://reviews.llvm.org/D147356 | 2 年前 | |
[libc++] Fix "size_t" constants that should be "bool" or "int", and add tests is_placeholder, despite having an "is_" name, actually returns an int: 1 for _1, 2 for _2, 3 for _3, and so on. But it should still be int, not size_t. | 3 年前 | |
Fixing conflicting macro definitions between curses.h and the standard library. POSIX allows certain macros to exist with generic names (i.e. refresh(), move(), and erase()) to exist in curses.h which conflict with functions found in std::filesystem, among others. This patch undefs the macros in question and adds them to LIBCPP_PUSH_MACROS and LIBCPP_POP_MACROS. Reviewed By: #libc, philnik, ldionne Differential Revision: https://reviews.llvm.org/D147356 | 2 年前 | |
[libc++][NFC] Rename the constexpr macros This was discussed on Discord with the consensus that we should rename the macros. Reviewed By: ldionne, Mordante, var-const, avogelsgesang, jloser, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D131498 | 3 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 3 年前 |