diff options
author | Louis Dionne <ldionne.2@gmail.com> | 2023-06-12 11:21:47 -0700 |
---|---|---|
committer | Louis Dionne <ldionne.2@gmail.com> | 2023-06-13 10:20:30 -0700 |
commit | 520c7fbbd0356f135a19cc764ff70e7f52ba11a0 (patch) | |
tree | 13b99f8d69106590f08ba0e3ac9c3868ea524a5b /libcxx/test/std/algorithms/alg.modifying.operations | |
parent | 35419651c53c9f9a58d2b86a4ec61d47c2105c55 (diff) | |
download | llvm-520c7fbbd0356f135a19cc764ff70e7f52ba11a0.zip llvm-520c7fbbd0356f135a19cc764ff70e7f52ba11a0.tar.gz llvm-520c7fbbd0356f135a19cc764ff70e7f52ba11a0.tar.bz2 |
[libc++] Mark slow tests as unsupported on GCC
Some tests in our test suite are unbelievably slow on GCC due to the
use of the always_inline attribute. See [1] for more details.
This patch introduces the GCC-ALWAYS_INLINE-FIXME lit feature to
disable tests that are plagued by that issue. At the same time, it
moves several existing tests from ad-hoc `UNSUPPORTED: gcc-12` markup
to the new GCC-ALWAYS_INLINE-FIXME feature, and marks the slowest tests
reported by the CI as `UNSUPPORTED: GCC-ALWAYS_INLINE-FIXME`.
[1]: https://discourse.llvm.org/t/rfc-stop-supporting-extern-instantiations-with-gcc/71277/1
Differential Revision: https://reviews.llvm.org/D152736
Diffstat (limited to 'libcxx/test/std/algorithms/alg.modifying.operations')
3 files changed, 5 insertions, 2 deletions
diff --git a/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp b/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp index 9cad71d..184008c 100644 --- a/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp +++ b/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp @@ -11,6 +11,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // TODO: make `join_view` non-experimental once D2770 is implemented. // UNSUPPORTED: !c++experimental +// UNSUPPORTED: GCC-ALWAYS_INLINE-FIXME // template<bidirectional_iterator I1, sentinel_for<I1> S1, bidirectional_iterator I2> // requires indirectly_copyable<I1, I2> diff --git a/libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp b/libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp index 18ac692..d98c319 100644 --- a/libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp +++ b/libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp @@ -9,6 +9,7 @@ // <algorithm> // UNSUPPORTED: c++03, c++11, c++14, c++17 +// UNSUPPORTED: GCC-ALWAYS_INLINE-FIXME // template<input_iterator I, sentinel_for<I> S, weakly_incrementable O> // requires indirectly_movable<I, O> diff --git a/libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp b/libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp index 1a281c6..f6ca42b 100644 --- a/libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp +++ b/libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp @@ -6,9 +6,10 @@ // //===----------------------------------------------------------------------===// -// <algorithm> - // UNSUPPORTED: c++03, c++11, c++14, c++17 +// UNSUPPORTED: GCC-ALWAYS_INLINE-FIXME + +// <algorithm> // template<bidirectional_iterator I1, sentinel_for<I1> S1, bidirectional_iterator I2> // requires indirectly_movable<I1, I2> |