| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[libcxx][modules] Fix missing includes for windows (#158781) Previously, I was getting the following error when attempting to compile libc++ on windows with modules enabled. While building module 'std': In file included from <module-includes>:1: In file included from gen/third_party/libc++/src/include/algorithm:1865: In file included from gen/third_party/libc++/src/include/__algorithm/inplace_merge.h:28: In file included from gen/third_party/libc++/src/include/__memory/unique_temporary_buffer.h:17: In file included from gen/third_party/libc++/src/include/__memory/allocator.h:19: gen/third_party/libc++/src/include/__new/allocate.h(40,73): error: declaration of 'align_val_t' must be imported from module 'sys_stage1.sysroot_vcruntime_new_h' before it is required 40 | return static_cast<_Tp*>(__builtin_operator_new(__size, static_cast<align_val... | ^ ../../third_party/depot_tools/win_toolchain/vs_files/e4305f407e/VC/Tools/MSVC/14.44.35207/include/vcruntime_new.h(27,33): note: declaration here is not visible 27 | _VCRT_EXPORT_STD enum class align_val_t : size_t {}; | ^ | 9 个月前 | |
[libc++] Simplify the implementation of __libcpp_{,de}allocate (#147989) GCC 15 also supports __buitin_operator_{new,delete} now, so the #else cases are dead code. This patch inlines the calls to the wrapper functions and simplifies some surrounding code. | 1 年前 | |
[libc++] Introduce unversioned namespace macros (#133009) We've started using _LIBCPP_BEGIN_NAMESPACE_STD and _LIBCPP_END_NAMESPACE_STD for more than just the namespace for a while now. For example, we're using it to add visibility annotations to types. This works very well and avoids a bunch of annotations, but doesn't work for the few places where we have an unversioned namespace. This adds _LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD and _LIBCPP_END_UNVERSIONED_NAMESPACE_STD to make it simpler to add new annotations consistently across the library as well as making it more explicit that the unversioned namespace is indeed intended. | 1 年前 | |
[libcxx][modules] Fix missing includes for windows (#158781) Previously, I was getting the following error when attempting to compile libc++ on windows with modules enabled. While building module 'std': In file included from <module-includes>:1: In file included from gen/third_party/libc++/src/include/algorithm:1865: In file included from gen/third_party/libc++/src/include/__algorithm/inplace_merge.h:28: In file included from gen/third_party/libc++/src/include/__memory/unique_temporary_buffer.h:17: In file included from gen/third_party/libc++/src/include/__memory/allocator.h:19: gen/third_party/libc++/src/include/__new/allocate.h(40,73): error: declaration of 'align_val_t' must be imported from module 'sys_stage1.sysroot_vcruntime_new_h' before it is required 40 | return static_cast<_Tp*>(__builtin_operator_new(__size, static_cast<align_val... | ^ ../../third_party/depot_tools/win_toolchain/vs_files/e4305f407e/VC/Tools/MSVC/14.44.35207/include/vcruntime_new.h(27,33): note: declaration here is not visible 27 | _VCRT_EXPORT_STD enum class align_val_t : size_t {}; | ^ | 9 个月前 | |
[libc++] Simplify when the sized global deallocations overloads are available (#114667) There doesn't seem to be much benefit in always providing declarations for the sized deallocations from C++14 onwards if the user explicitly passed -fno-sized-deallocation to disable them. This patch simplifies the declarations to be available exactly when the compiler expects sized deallocation functions to be available. | 1 年前 | |
[libc++] Granularize the <new> header (#119270) This disentangles the code which previously had a mix of many #ifdefs, a non-versioned namespace and a versioned namespace. It also makes it clearer which parts of <new> are implemented on Windows by including <new.h>. | 1 年前 | |
[libc++] Simplify std::launder (#147985) Both Clang and GCC diagnose invalid calls to __builtin_launder, which causes duplicate diagnostics when using std::launder in an invalid way. While the diagnostic message for the builtin isn't perferct, it's definitely good enough to understand the problem and adding our own diagnostic doesn't really make things any clearer. Because of that, this patch simply removes the static_asserts and lets the compiler handle diagnosing incorrect arguments instead. This not only simplifies our implementation, but also improves compile times a bit, since we avoid instantiating some type traits. | 1 年前 | |
Revert "[libc++] Introduce ABI sensitive areas to avoid requiring _LIBCPP_HIDE_FROM_ABI everywhere (#131156)" (#141756) This reverts commit c861fe8a71e64f3d2108c58147e7375cd9314521. Unfortunately, this use of hidden visibility attributes causes user-defined specializations of standard-library types to also be marked hidden by default, which is incorrect. See discussion thread on #131156. ...and also reverts the follow-up commits: Revert "[libc++] Add explicit ABI annotations to functions from the block runtime declared in <__functional/function.h> (#140592)" This reverts commit 3e4c9dc299c35155934688184319d391b298fff7. Revert "[libc++] Make ABI annotations explicit for windows-specific code (#140507)" This reverts commit f73287e623a6c2e4a3485832bc3e10860cd26eb5. Revert "[libc++][NFC] Replace a few "namespace std" with the correct macro (#140510)" This reverts commit 1d411f27c769a32cb22ce50b9dc4421e34fd40dd. | 1 年前 | |
[libc++] Remove a few incorrect _LIBCPP_EXPORTED_FROM_ABI annotations (#132602) This has two benefits: - It is less likely that the macro will be copy-pasted around when unnecessary - We can drop _LIBCPP_HIDE_FROM_ABI from any member functions once we are able to make _LIBCPP_HIDE_FROM_ABI the default within libc++ | 11 个月前 | |
[libc++] Granularize the <new> header (#119270) This disentangles the code which previously had a mix of many #ifdefs, a non-versioned namespace and a versioned namespace. It also makes it clearer which parts of <new> are implemented on Windows by including <new.h>. | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 1 年前 |