| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[libcxx][ci] Switch to CMAKE_CXX_COMPILER_TARGET for Arm bots As suggested by the cmake warning: CMake Warning at <...>/llvm-project/libcxx-ci/libcxx/CMakeLists.txt:289 (message): LIBCXX_TARGET_TRIPLE is deprecated, please use CMAKE_CXX_COMPILER_TARGET instead Depends on D119948 Differential Revision: https://reviews.llvm.org/D120038 | 4 年前 | |
[libc++] Re-apply "Always build c++experimental.a"" This re-applies bb939931a1ad, which had been reverted by 09cebfb978de because it broke Chromium. The issues seen by Chromium should be addressed by 1d0f79558ca4. Differential Revision: https://reviews.llvm.org/D128927 | 3 年前 | |
[libc++] Drop the legacy debug mode symbols by default Leave the escape hatch in place with a note, but don't include the debug mode symbols by default since we don't support the debug mode in the normal library anymore. This is technically an ABI break for users who were depending on those debug mode symbols in the dylib, however those users will already be broken at compile-time because they must have been using _LIBCPP_DEBUG=2, which is now an error. Differential Revision: https://reviews.llvm.org/D127360 | 3 年前 | |
[libcxx][ci] Switch to CMAKE_CXX_COMPILER_TARGET for Arm bots As suggested by the cmake warning: CMake Warning at <...>/llvm-project/libcxx-ci/libcxx/CMakeLists.txt:289 (message): LIBCXX_TARGET_TRIPLE is deprecated, please use CMAKE_CXX_COMPILER_TARGET instead Depends on D119948 Differential Revision: https://reviews.llvm.org/D120038 | 4 年前 | |
[libcxx][ci] Switch to CMAKE_CXX_COMPILER_TARGET for Arm bots As suggested by the cmake warning: CMake Warning at <...>/llvm-project/libcxx-ci/libcxx/CMakeLists.txt:289 (message): LIBCXX_TARGET_TRIPLE is deprecated, please use CMAKE_CXX_COMPILER_TARGET instead Depends on D119948 Differential Revision: https://reviews.llvm.org/D120038 | 4 年前 | |
[libcxx][ci] Switch to CMAKE_CXX_COMPILER_TARGET for Arm bots As suggested by the cmake warning: CMake Warning at <...>/llvm-project/libcxx-ci/libcxx/CMakeLists.txt:289 (message): LIBCXX_TARGET_TRIPLE is deprecated, please use CMAKE_CXX_COMPILER_TARGET instead Depends on D119948 Differential Revision: https://reviews.llvm.org/D120038 | 4 年前 | |
[libcxx][ci] Switch to CMAKE_CXX_COMPILER_TARGET for Arm bots As suggested by the cmake warning: CMake Warning at <...>/llvm-project/libcxx-ci/libcxx/CMakeLists.txt:289 (message): LIBCXX_TARGET_TRIPLE is deprecated, please use CMAKE_CXX_COMPILER_TARGET instead Depends on D119948 Differential Revision: https://reviews.llvm.org/D120038 | 4 年前 | |
Define new/delete in libc++ when using libcxxrt Always turn on LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS, if libcxxrt is used as the C++ ABI library, since libcxxrt does not provide the full set ofnew and delete operators. In particular, the aligned versions of these operators are completely missing. This primarily addresses builds on FreeBSD, as this platform uses libcxxrt by default. Also, attempt to provide a FreeBSD.cmake cache file, with hopefully sane settings, partially copied from the Apple.cmake cache file. This needs more work, probably some additions to ci build scripts (although I am not aware of any 'official' FreeBSD build bots). Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D96720 | 5 年前 | |
[libc++] Add Unstable ABI CI run Reviewed By: ldionne, #libc, Mordante Spies: mgorny, Mordante, libcxx-commits, arichardson Differential Revision: https://reviews.llvm.org/D118725 | 4 年前 | |
[libc++][NFC] Work around false positive ODR violations from ASan. This works around a known issue in ASan. ASan doesn't instrument weak symbols. Because instrumentation increases object size, the binary can end up with two versions of the same object, one instrumented and one not instrumented, with different sizes, which ASan will report as an ODR violation. In libc++, this affects typeinfo for std::bad_function_call which is emitted as a weak symbol in the test executable and as a strong symbol in the shared library. The main open issue for ASan appears to be https://github.com/google/sanitizers/issues/1017. Differential Revision: https://reviews.llvm.org/D119410 | 4 年前 | |
[libc++][libc++abi] Serialize the enable_assertions Lit parameter in the generated config This means that re-running with llvm-lit in that configuration will work as expected. This also enables assertions in libc++abi in the Generic-assertions CI job, which was disabled previously. Differential Revision: https://reviews.llvm.org/D122597 | 4 年前 | |
[runtimes] Allow passing Lit parameters through CMake This allows passing parameters to the test suites without using LLVM_LIT_ARGS. The problem is that we sometimes want to set some Lit arguments on the CMake command line, but the Lit parameters in a CMake cache file. If the only knob to do that is LLVM_LIT_ARGS, the command-line entry overrides the cache one, and the parameters set by the cache are ignored. This fixes a current issue with the build bots that they completely ignore the 'std' param set by Lit, because other Lit arguments are provided via LLVM_LIT_ARGS on the CMake command-line. | 5 年前 | |
[runtimes] Allow passing Lit parameters through CMake This allows passing parameters to the test suites without using LLVM_LIT_ARGS. The problem is that we sometimes want to set some Lit arguments on the CMake command line, but the Lit parameters in a CMake cache file. If the only knob to do that is LLVM_LIT_ARGS, the command-line entry overrides the cache one, and the parameters set by the cache are ignored. This fixes a current issue with the build bots that they completely ignore the 'std' param set by Lit, because other Lit arguments are provided via LLVM_LIT_ARGS on the CMake command-line. | 5 年前 | |
[runtimes] Allow passing Lit parameters through CMake This allows passing parameters to the test suites without using LLVM_LIT_ARGS. The problem is that we sometimes want to set some Lit arguments on the CMake command line, but the Lit parameters in a CMake cache file. If the only knob to do that is LLVM_LIT_ARGS, the command-line entry overrides the cache one, and the parameters set by the cache are ignored. This fixes a current issue with the build bots that they completely ignore the 'std' param set by Lit, because other Lit arguments are provided via LLVM_LIT_ARGS on the CMake command-line. | 5 年前 | |
[runtimes] Allow passing Lit parameters through CMake This allows passing parameters to the test suites without using LLVM_LIT_ARGS. The problem is that we sometimes want to set some Lit arguments on the CMake command line, but the Lit parameters in a CMake cache file. If the only knob to do that is LLVM_LIT_ARGS, the command-line entry overrides the cache one, and the parameters set by the cache are ignored. This fixes a current issue with the build bots that they completely ignore the 'std' param set by Lit, because other Lit arguments are provided via LLVM_LIT_ARGS on the CMake command-line. | 5 年前 | |
[libc++] Divorce the std Lit feature from the -std=XXX compiler flag After this patch, we can use --param std=c++20 even if the compiler only supports -std=c++2a. The test suite will handle that for us. The only Lit feature that isn't fully baked will always be the "in development" one, since we don't know exactly what year the standard will be ratified in. This is another take on https://reviews.llvm.org/D99789. Differential Revision: https://reviews.llvm.org/D100210 | 5 年前 | |
[libc++] Add basic support for -std=c++2b. * Add feature test macros. * Add buildbot configuration generic-cxx2b that uses clang-tot. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D94227 | 5 年前 | |
[libc++] Make the Debug mode a configuration-time only option The debug mode has been broken pretty much ever since it was shipped because it was possible to enable the debug mode in user code without actually enabling it in the dylib, leading to ODR violations that caused various kinds of failures. This commit makes the debug mode a knob that is configured when building the library and which can't be changed afterwards. This is less flexible for users, however it will actually work as intended and it will allow us, in the future, to add various kinds of checks that do not assume the same ABI as the normal library. Furthermore, this will make the debug mode more robust, which means that vendors might be more tempted to support it properly, which hasn't been the case with the current debug mode. This patch shouldn't break any user code, except folks who are building against a library that doesn't have the debug mode enabled and who try to enable the debug mode in their code. Such users will get a compile-time error explaining that this configuration isn't supported anymore. In the future, we should further increase the granularity of the debug mode checks so that we can cherry-pick which checks to enable, like we do for unspecified behavior randomization. Differential Revision: https://reviews.llvm.org/D122941 | 3 年前 | |
[runtimes] Fix the build of merged ABI/unwinder libraries Also, add a CI job that tests this configuration. The exact configuration is that we build a shared libc++ and merge objects for the ABI library and the unwinder library into it. Differential Revision: https://reviews.llvm.org/D125903 | 4 年前 | |
[libc++] Add a CI configuration for the modular build Differential Revision: https://reviews.llvm.org/D103559 | 4 年前 | |
[libc++][CMake] Add CMake caches for commonly supported configurations This commit adds CMake caches for the various configurations of libc++ that are tested by our build bots. Differential Revision: https://reviews.llvm.org/D81293 | 5 年前 | |
[libc++] Treat incomplete features just like other experimental features In particular remove the ability to expel incomplete features from the library at configure-time, since this can now be done through the _LIBCPP_ENABLE_EXPERIMENTAL macro. Also, never provide symbols related to incomplete features inside the dylib, instead provide them in c++experimental.a (this changes the symbols list, but not for any configuration that should have shipped). Differential Revision: https://reviews.llvm.org/D128928 | 3 年前 | |
[libc++] Make LIBCXX_ENABLE_FILESYSTEM fully consistent Previously, LIBCXX_ENABLE_FILESYSTEM controlled only whether the filesystem support was compiled into libc++'s library. This commit promotes the setting to a first-class option like LIBCXX_ENABLE_LOCALIZATION, where the whole library is aware of the setting and features that depend on <filesystem> won't be provided at all. The test suite is also properly annotated such that tests that depend on <filesystem> are disabled when the library doesn't support it. This is an alternative to https://llvm.org/D94824, but also an improvement along the lines of LIBCXX_ENABLE_LOCALIZATION that I had been wanting to make for a while. Differential Revision: https://reviews.llvm.org/D94921 | 5 年前 | |
[libc++] Add a libc++ configuration that does not support localization When porting libc++ to embedded systems, it can be useful to drop support for localization, which these systems don't implement or care about. Differential Revision: https://reviews.llvm.org/D90072 | 5 年前 | |
[libc++] Allow building libc++ on platforms without a random device Some platforms, like several embedded platforms, do not provide a source of randomness through a random device. This commit makes it possible to build and test libc++ for such platforms, i.e. without std::random_device. Surprisingly, the only functionality that doesn't work on such platforms is std::random_device itself -- everything else in <random> still works, one just has to find alternative ways to seed the PRNGs. | 5 年前 | |
[libc++] Rename the generic-singlethreaded CI job to generic-no-threads for consistency | 4 年前 | |
[libc++] Re-add transitive includes that had been removed since LLVM 14 This commit re-adds transitive includes that had been removed by 4cd04d1687f1, c36870c8e79c, a83f4b9cda57, 1458458b558d, 2e2f3158c604, and 489637e66dd3. This should cover almost all the includes that had been removed since LLVM 14 and that would contribute to breaking user code when releasing LLVM 15. It is possible to disable the inclusion of these headers by defining _LIBCPP_REMOVE_TRANSITIVE_INCLUDES. The intent is that vendors will enable that macro and start fixing downstream issues immediately. We can then remove the macro (and the transitive includes) by default in a future release. That way, we will break users only once by removing transitive includes in bulk instead of doing it bit by bit a every release, which is more disruptive for users. Note 1: The set of headers to re-add was found by re-generating the transitive include test on a checkout of release/14.x, which provided the list of all transitive includes we used to provide. Note 2: Several includes of <vector>, <optional>, <array> and <unordered_map> have been added in this commit. These transitive inclusions were added when we implemented boyer_moore_searcher in <functional>. Note 3: This is a best effort patch to try and resolve downstream breakage caused since branching LLVM 14. I wasn't able to perfectly mirror transitive includes in LLVM 14 for a few headers, so I added a release note explaining it. To summarize, adding boyer_moore_searcher created a bunch of circular dependencies, so we have to break backwards compatibility in a few cases. Differential Revision: https://reviews.llvm.org/D128661 | 3 年前 | |
[libc++][format] Add a CMake Unicode option. This option is used to select between the format headers output column width option. This option should be independent of the locale setting. It's encouraged to default to Unicode unless the platform doesn't offer that option. [format.string.std]/10 For the purposes of width computation, a string is assumed to be in a locale-independent, implementation-defined encoding. Implementations should use a Unicode encoding on platforms capable of displaying Unicode Reviewed By: #libc, ldionne, vitaut Differential Revision: https://reviews.llvm.org/D103379 | 4 年前 | |
[libc++] Add an option to disable wide character support in libc++ Some embedded platforms do not wish to support the C library functionality for handling wchar_t because they have no use for it. It makes sense for libc++ to work properly on those platforms, so this commit adds a carve-out of functionality for wchar_t. Unfortunately, unlike some other carve-outs (e.g. random device), this patch touches several parts of the library. However, despite the wide impact of this patch, I still think it is important to support this configuration since it makes it much simpler to port libc++ to some embedded platforms. Differential Revision: https://reviews.llvm.org/D111265 | 4 年前 | |
[libc++][CMake] Add CMake caches for commonly supported configurations This commit adds CMake caches for the various configurations of libc++ that are tested by our build bots. Differential Revision: https://reviews.llvm.org/D81293 | 5 年前 | |
[libc++] Switch a few CI jobs to the minimal Lit configuration Eventually, this should become the default way of running the tests. For now, only move a few CI nodes to it, and keep a node that runs the legacy configuration. Differential Revision: https://reviews.llvm.org/D97565 | 5 年前 | |
[libc++][CMake] Add CMake caches for commonly supported configurations This commit adds CMake caches for the various configurations of libc++ that are tested by our build bots. Differential Revision: https://reviews.llvm.org/D81293 | 5 年前 | |
[libc++][CMake] Add CMake caches for commonly supported configurations This commit adds CMake caches for the various configurations of libc++ that are tested by our build bots. Differential Revision: https://reviews.llvm.org/D81293 | 5 年前 | |
[libcxx] [ci] Don't disable libc++experimental in mingw builds Since dfa88927ae1411ccc3b248b7e624f2acf623d947, the static libc++experimental should work in mingw dll builds. (It probably worked all along in static mingw builds.) Differential Revision: https://reviews.llvm.org/D129270 | 3 年前 | |
[libc++][CMake] Add CMake caches for commonly supported configurations This commit adds CMake caches for the various configurations of libc++ that are tested by our build bots. Differential Revision: https://reviews.llvm.org/D81293 | 5 年前 |
libc++ / libc++abi configuration caches
This directory contains CMake caches for the supported configurations of libc++. Some of the configurations are specific to a vendor, others are generic and not tied to any vendor.
While we won't explicitly work to break configurations not listed here, any configuration not listed here is not explicitly supported. If you use or ship libc++ under a configuration not listed here, you should work with the libc++ maintainers to make it into a supported configuration and add it here.
Similarly, adding any new configuration that's not already covered must be discussed with the libc++ maintainers as it entails a maintenance burden.