[libcxx-commits] [libcxxabi] 4f194d0 - [libc++] Promote GCC 11 to mandatory CI
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jun 15 17:55:40 PDT 2021
Author: Louis Dionne
Date: 2021-06-15T20:54:58-04:00
New Revision: 4f194d0db78f612233234a7db659384cd62709fb
URL: https://github.com/llvm/llvm-project/commit/4f194d0db78f612233234a7db659384cd62709fb
DIFF: https://github.com/llvm/llvm-project/commit/4f194d0db78f612233234a7db659384cd62709fb.diff
LOG: [libc++] Promote GCC 11 to mandatory CI
Also, fix the last issue that prevented GCC 11 from passing the test
suite. Thanks to everyone else who fixed issues.
Differential Revision: https://reviews.llvm.org/D104315
Added:
Modified:
libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
libcxx/utils/ci/Dockerfile
libcxx/utils/ci/buildkite-pipeline.yml
libcxx/utils/ci/run-buildbot
libcxxabi/test/catch_member_function_pointer_02.pass.cpp
Removed:
################################################################################
diff --git a/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp b/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
index 1ad33e30e69f4..12d03545d85c2 100644
--- a/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
@@ -12,12 +12,10 @@
// <atomic>
// template <class T>
-// bool
-// atomic_is_lock_free(const volatile atomic<T>* obj);
+// bool atomic_is_lock_free(const volatile atomic<T>* obj);
//
// template <class T>
-// bool
-// atomic_is_lock_free(const atomic<T>* obj);
+// bool atomic_is_lock_free(const atomic<T>* obj);
#include <atomic>
#include <cassert>
@@ -29,23 +27,20 @@ template <class T>
struct TestFn {
void operator()() const {
typedef std::atomic<T> A;
- A t;
+ A t = T();
bool b1 = std::atomic_is_lock_free(static_cast<const A*>(&t));
- volatile A vt;
+ volatile A vt = T();
bool b2 = std::atomic_is_lock_free(static_cast<const volatile A*>(&vt));
assert(b1 == b2);
}
};
-struct A
-{
- char _[4];
+struct A {
+ char x[4];
};
-int main(int, char**)
-{
- TestFn<A>()();
- TestEachAtomicType<TestFn>()();
-
+int main(int, char**) {
+ TestFn<A>()();
+ TestEachAtomicType<TestFn>()();
return 0;
}
diff --git a/libcxx/utils/ci/Dockerfile b/libcxx/utils/ci/Dockerfile
index 2c90680effd7d..1c8eb1146a63a 100644
--- a/libcxx/utils/ci/Dockerfile
+++ b/libcxx/utils/ci/Dockerfile
@@ -58,11 +58,9 @@ RUN . /tmp/env.sh && apt-get install -y clang-format-$LLVM_VERSION
RUN ln -s $(find /usr/bin -regex '^.+/clang-format-[0-9.]+$') /usr/bin/clang-format && [ -e $(readlink /usr/bin/clang-format) ]
RUN ln -s $(find /usr/bin -regex '^.+/git-clang-format-[0-9.]+$') /usr/bin/git-clang-format && [ -e $(readlink /usr/bin/git-clang-format) ]
-# Install a recent GCC
+# Install the most recent GCC version and the previous one (which are the two we support)
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
RUN apt-get update && apt install -y gcc-10 g++-10 gcc-11 g++-11
-RUN ln -f -s /usr/bin/g++-10 /usr/bin/g++ && [ -e $(readlink /usr/bin/g++) ]
-RUN ln -f -s /usr/bin/gcc-10 /usr/bin/gcc && [ -e $(readlink /usr/bin/gcc) ]
# Install a recent CMake
RUN wget https://github.com/Kitware/CMake/releases/download/v3.18.2/cmake-3.18.2-Linux-x86_64.sh -O /tmp/install-cmake.sh
diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
index 7daaab1d55054..6b9e540ae488f 100644
--- a/libcxx/utils/ci/buildkite-pipeline.yml
+++ b/libcxx/utils/ci/buildkite-pipeline.yml
@@ -124,7 +124,7 @@ steps:
- exit_status: -1 # Agent was lost
limit: 2
- - label: "GCC/C++20"
+ - label: "GCC Current/C++20"
command: "libcxx/utils/ci/run-buildbot generic-gcc"
artifact_paths:
- "**/test-results.xml"
@@ -135,8 +135,13 @@ steps:
- exit_status: -1 # Agent was lost
limit: 2
- - label: "GCC-next/C++20"
- command: "libcxx/utils/ci/run-buildbot generic-gcc-next"
+ #
+ # All other supported configurations of libc++.
+ #
+ - wait
+
+ - label: "GCC Previous/C++20"
+ command: "libcxx/utils/ci/run-buildbot generic-gcc-prev"
artifact_paths:
- "**/test-results.xml"
agents:
@@ -145,13 +150,6 @@ steps:
automatic:
- exit_status: -1 # Agent was lost
limit: 2
- soft_fail:
- - exit_status: 1
-
- #
- # All other supported configurations of libc++.
- #
- - wait
- label: "-fno-exceptions"
command: "libcxx/utils/ci/run-buildbot generic-noexceptions"
diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index 605e5a795aae2..d076f5fd96d9c 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -279,15 +279,15 @@ generic-32bit)
check-cxx-cxxabi
;;
generic-gcc)
- export CC=gcc
- export CXX=g++
+ export CC=gcc-11
+ export CXX=g++-11
clean
generate-cmake
check-cxx-cxxabi
;;
-generic-gcc-next)
- export CC=gcc-11
- export CXX=g++-11
+generic-gcc-prev)
+ export CC=gcc-10
+ export CXX=g++-10
clean
generate-cmake
check-cxx-cxxabi
diff --git a/libcxxabi/test/catch_member_function_pointer_02.pass.cpp b/libcxxabi/test/catch_member_function_pointer_02.pass.cpp
index d203fe320f33f..f92035b4ff8f9 100644
--- a/libcxxabi/test/catch_member_function_pointer_02.pass.cpp
+++ b/libcxxabi/test/catch_member_function_pointer_02.pass.cpp
@@ -12,7 +12,7 @@
// GCC 7 and 8 support noexcept function types but this test still fails.
// This is likely a bug in their implementation. Investigation needed.
-// XFAIL: gcc-7, gcc-8, gcc-9, gcc-10
+// XFAIL: gcc-7, gcc-8, gcc-9, gcc-10, gcc-11
#include <cassert>
More information about the libcxx-commits
mailing list