|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2 |
|
| #
2fb8f67e |
| 04-Aug-2022 |
Louis Dionne <[email protected]> |
[libc++] Allow enabling assertions when back-deploying
When back-deploying to older platforms, we can still provide assertions, but we might not be able to provide a great implementation for the ver
[libc++] Allow enabling assertions when back-deploying
When back-deploying to older platforms, we can still provide assertions, but we might not be able to provide a great implementation for the verbose handler. Instead, we can just call ::abort().
Differential Revision: https://reviews.llvm.org/D131199
(cherry picked from commit e36f9e13bca41223bd6af7e49bf020e58a676e9d)
show more ...
|
|
Revision tags: llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
f1c30135 |
| 19-Jul-2022 |
Louis Dionne <[email protected]> |
[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 n
[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
show more ...
|
| #
8711fcae |
| 30-Jun-2022 |
Louis Dionne <[email protected]> |
[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
[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
show more ...
|
| #
7300a651 |
| 19-Jul-2022 |
Louis Dionne <[email protected]> |
[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 b
[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
show more ...
|
| #
09cebfb9 |
| 18-Jul-2022 |
Hans Wennborg <[email protected]> |
Revert "[libc++] Always build c++experimental.a"
This caused build failures when building Clang and libc++ together on Mac:
fatal error: 'experimental/memory_resource' file not found
See the cod
Revert "[libc++] Always build c++experimental.a"
This caused build failures when building Clang and libc++ together on Mac:
fatal error: 'experimental/memory_resource' file not found
See the code review for details. Reverting until the problem and how to solve it is better understood.
(Updates to some test files were not reverted, since they seemed unrelated and were later updated by 340b48b267b96.)
> This is the first part of a plan to ship experimental features > by default while guarding them behind a compiler flag to avoid > users accidentally depending on them. Subsequent patches will > also encompass incomplete features (such as <format> and <ranges>) > in that categorization. Basically, the idea is that we always > build and ship the c++experimental library, however users can't > use what's in it unless they pass the `-funstable` flag to Clang. > > Note that this patch intentionally does not start guarding > existing <experimental/FOO> content behind the flag, because > that would merely break users that might be relying on such > content being in the headers unconditionally. Instead, we > should start guarding new TSes behind the flag, and get rid > of the existing TSes we have by shipping their Standard > counterpart. > > Also, this patch must jump through a few hoops like defining > _LIBCPP_ENABLE_EXPERIMENTAL because we still support compilers > that do not implement -funstable yet. > > Differential Revision: https://reviews.llvm.org/D128927
This reverts commit bb939931a1adb9a47a2de13c359d6a72aeb277c8.
show more ...
|
| #
bb939931 |
| 30-Jun-2022 |
Louis Dionne <[email protected]> |
[libc++] Always build c++experimental.a
This is the first part of a plan to ship experimental features by default while guarding them behind a compiler flag to avoid users accidentally depending on
[libc++] Always build c++experimental.a
This is the first part of a plan to ship experimental features by default while guarding them behind a compiler flag to avoid users accidentally depending on them. Subsequent patches will also encompass incomplete features (such as <format> and <ranges>) in that categorization. Basically, the idea is that we always build and ship the c++experimental library, however users can't use what's in it unless they pass the `-funstable` flag to Clang.
Note that this patch intentionally does not start guarding existing <experimental/FOO> content behind the flag, because that would merely break users that might be relying on such content being in the headers unconditionally. Instead, we should start guarding new TSes behind the flag, and get rid of the existing TSes we have by shipping their Standard counterpart.
Also, this patch must jump through a few hoops like defining _LIBCPP_ENABLE_EXPERIMENTAL because we still support compilers that do not implement -funstable yet.
Differential Revision: https://reviews.llvm.org/D128927
show more ...
|
| #
de4a57cb |
| 27-Jun-2022 |
Louis Dionne <[email protected]> |
[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, 2e2f3
[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
show more ...
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5 |
|
| #
eb12ad9d |
| 30-May-2022 |
Mark de Wever <[email protected]> |
[libc++][CI] Updates GCC to version 12.
Reviewed By: ldionne, philnik, #libc, #libc_abi
Differential Revision: https://reviews.llvm.org/D126667
|
| #
3af7aa52 |
| 14-Jun-2022 |
Jake Egan <[email protected]> |
[libcxx][AIX] Enable ABI list checking for XCOFF
The existing nm extractors can't dump the loader symbol table information we need to do the ABI checks for XCOFF, so provide an implementation using
[libcxx][AIX] Enable ABI list checking for XCOFF
The existing nm extractors can't dump the loader symbol table information we need to do the ABI checks for XCOFF, so provide an implementation using the system dump utility. We match the symbol name, whether it's defined, it's import/export status, and its storage mapping class.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D124165
show more ...
|
| #
1cf41139 |
| 14-Jun-2022 |
Jake Egan <[email protected]> |
[libcxx][AIX] Switch build compiler to clang
This patch switches the build compiler for AIX from ibm-clang to clang. ibm-clang++_r has `-pthread` by default, but clang for AIX doesn't, so `-pthread`
[libcxx][AIX] Switch build compiler to clang
This patch switches the build compiler for AIX from ibm-clang to clang. ibm-clang++_r has `-pthread` by default, but clang for AIX doesn't, so `-pthread` had to be added to the test config. A bunch of tests now pass, so the `XFAIL` was removed. This patch also switch the build to use the visibility support available in clang-15 to control symbols exported by the shared library (AIX traditionally uses explicit export lists for this purpose).
Reviewed By: #libc, #libc_abi, daltenty, #libunwind, ldionne
Differential Revision: https://reviews.llvm.org/D127470
show more ...
|
|
Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
f3966eaf |
| 01-Apr-2022 |
Louis Dionne <[email protected]> |
[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 witho
[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
show more ...
|
| #
222bd83d |
| 07-Jun-2022 |
Louis Dionne <[email protected]> |
[libc++] Forgot to bump the CI timeout everywhere
|
| #
76c7e1f2 |
| 07-Jun-2022 |
Louis Dionne <[email protected]> |
[libc++] Bump timeout to avoid spurious failures on AIX
|
| #
dfaee3c9 |
| 02-Jun-2022 |
Xing Xue <[email protected]> |
[libunwind][ci][AIX] Add libunwind to buildbot CI
Summary: This patch changes scripts to add libunwind CI on AIX. Test config file ibm-libunwind-shared.cfg.in is introduced for testing on AIX.
Revi
[libunwind][ci][AIX] Add libunwind to buildbot CI
Summary: This patch changes scripts to add libunwind CI on AIX. Test config file ibm-libunwind-shared.cfg.in is introduced for testing on AIX.
Reviewed by: ldionne, MaskRay, libunwind, ibc++abi
Differential Revision: https://reviews.llvm.org/D126017
show more ...
|
| #
719bf2d9 |
| 26-May-2022 |
Louis Dionne <[email protected]> |
[runtimes] Officially deprecate the legacy testing configuration system
Add a warning and tweak the release note to explain that the deprecation targets libc++, libc++abi and libuwnind as well.
Als
[runtimes] Officially deprecate the legacy testing configuration system
Add a warning and tweak the release note to explain that the deprecation targets libc++, libc++abi and libuwnind as well.
Also, as a fly-by, ensure that our CI runs the legacy testing configuration for libc++, libc++abi and libunwind. This doesn't matter too much since it's deprecated, but we might as well test it properly.
Differential Revision: https://reviews.llvm.org/D126478
show more ...
|
| #
92bbcfaa |
| 26-May-2022 |
Louis Dionne <[email protected]> |
[libunwind] Tidy-up the testing configuration for libunwind
Start testing Apple backdeployment with older libunwinds, and stop explicitly specifying the libunwind testing config, since it is already
[libunwind] Tidy-up the testing configuration for libunwind
Start testing Apple backdeployment with older libunwinds, and stop explicitly specifying the libunwind testing config, since it is already selected correctly by default.
Differential Revision: https://reviews.llvm.org/D126470
show more ...
|
| #
3bba72e6 |
| 26-May-2022 |
Louis Dionne <[email protected]> |
[libc++] Time tests during CI
|
| #
a9a6e200 |
| 24-May-2022 |
Louis Dionne <[email protected]> |
[libc++] Rename the generic-singlethreaded CI job to generic-no-threads for consistency
|
| #
fa7ce8e6 |
| 18-May-2022 |
Louis Dionne <[email protected]> |
[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 lib
[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
show more ...
|
| #
30194d45 |
| 04-May-2022 |
Martin Storsjö <[email protected]> |
[libcxx] [ci] Add a i386 Windows configuration to CI
Adding a mingw based config is easy in the current CI environment (where we can just choose the different target by calling `i686-w64-mingw32-cla
[libcxx] [ci] Add a i386 Windows configuration to CI
Adding a mingw based config is easy in the current CI environment (where we can just choose the different target by calling `i686-w64-mingw32-clang`), while adding a clang-cl based config would require setting up different environment variables pointing to the i386 library directory.
Just adding one config (DLL) instead of exhaustively testing both (DLL and static) as very few tests would differ in practice, to keep the CI load reasonable.
Differential Revision: https://reviews.llvm.org/D124991
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
8b5e4c03 |
| 01-Dec-2021 |
Louis Dionne <[email protected]> |
[runtimes][CI] Add a 20 minutes individual test time out
If a single test has been running for more than 20 minutes on a CI node, something is wrong and it should time-out instead of running until t
[runtimes][CI] Add a 20 minutes individual test time out
If a single test has been running for more than 20 minutes on a CI node, something is wrong and it should time-out instead of running until the node potentially times out itself.
Differential Revision: https://reviews.llvm.org/D114896
show more ...
|
| #
64d7f778 |
| 31-Mar-2022 |
Martin Storsjö <[email protected]> |
[libcxx] [ci] Enable -Werror for libcxxabi and libunwind too
Differential Revision: https://reviews.llvm.org/D122800
|
| #
e4e281ea |
| 22-Mar-2022 |
Petr Hosek <[email protected]> |
Revert "[bootstrap] Allow passing options to sub-builds for all targets"
This reverts commit 240e06dfe77feabe38a03cbb1c94875639d0f9ff.
|
| #
240e06df |
| 16-Mar-2022 |
Louis Dionne <[email protected]> |
[bootstrap] Allow passing options to sub-builds for all targets
This patch makes it possible to pass a CMake option to one of the runtimes for all targets being built. Basically, any option that sta
[bootstrap] Allow passing options to sub-builds for all targets
This patch makes it possible to pass a CMake option to one of the runtimes for all targets being built. Basically, any option that starts with the name of a runtime project being built will be forwarded as-is to the sub-build. This is useful for customizing a sub-build for all targets.
Differential Revision: https://reviews.llvm.org/D121822
show more ...
|
| #
5082b942 |
| 18-Mar-2022 |
Louis Dionne <[email protected]> |
[libunwind] Add libunwind to the bootstrapping build CI
Differential Revision: https://reviews.llvm.org/D122006
|