| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[libc++] Implement stop_token Implement stop_token http://eel.is/c++draft/thread.stoptoken | 3 年前 | |
[libc++][hardening] Categorize more assertions. Differential Revision: https://reviews.llvm.org/D155873 | 2 年前 | |
[libc++][Modules] Make top level modules for all C++ headers with OS/clang versions The headers that include_next compiler and OS headers need to be in different top level modules in order to avoid module cycles. e.g. libc++'s stdlib.h will #include_next stdlib.h from the compiler and then the C library. Either of those are likely to include stddef.h, which will come back up to the libc++ module map and create a module cycle. Putting stdlib.h and stddef.h (and the rest of the C standard library headers) in top level modules resolves this by letting the order go cxx_stdlib_h -> os_stdlib_h -> cxx_stddef_h -> os_stddef_h. All of those headers' dependencies then need to be moved into top level modules themselves to avoid module cycles between the new top level level cstd modules. This starts to get complicated, as the libc++ C headers, by standard, have to include many of the C++ headers, which include the private detail headers, which are intertwined. e.g. some __algorithm headers include __memory headers and vice versa. Make top level modules for all of the libc++ headers to easily guarantee that the modules aren't cyclic. Add enough module exports to fix check-cxx and run-buildbot generic-modules. __stop_token/intrusive_shared_ptr.h uses __atomic/atomic.h but has no include path to it. Add that include. math.h absorbs bits/atomic_wide_counter.h on some platforms that don't have modules, work around that by including math.h in __threading_support. <mutex> doesn't actually require threads, there are a few pieces like once_flag that work without threads. Remove the requirement from its module. AIX is no longer able to support modular builds. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D144322 | 2 年前 | |
[libc++] Fix template parameter naming and enforce it through readability-identifier-naming Reviewed By: #libc, Mordante Spies: Mordante, aheejin, libcxx-commits Differential Revision: https://reviews.llvm.org/D156059 | 2 年前 | |
[libc++] Make stop_token experimental There are discussions about different ways of implementing stop_token to make it more performant mark stop_token as experimental to allow us to change the design before it is shipped Co-authored-by: Louis Dionne <ldionne.2@gmail.com> Differential Revision: https://reviews.llvm.org/D154700 | 2 年前 | |
[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 | 2 年前 | |
[libc++] Make stop_token experimental There are discussions about different ways of implementing stop_token to make it more performant mark stop_token as experimental to allow us to change the design before it is shipped Co-authored-by: Louis Dionne <ldionne.2@gmail.com> Differential Revision: https://reviews.llvm.org/D154700 | 2 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 |