[libc++] Bump minimum compiler requirements
authorLouis Dionne <ldionne.2@gmail.com>
Wed, 2 Feb 2022 18:08:52 +0000 (13:08 -0500)
committerLouis Dionne <ldionne.2@gmail.com>
Thu, 10 Mar 2022 13:59:19 +0000 (08:59 -0500)
Now that we've branched for the LLVM 14 release, our support window
moves to clang-13 and clang-14. Similarly, AppleClang 13 has been
released for some time now, so that should be the oldest compiler
we support, per our policy.

A possible follow-up would be to remove _LIBCPP_HAS_NO_CONCEPTS, since
I don't think we support any compiler that doesn't support concepts
anymore.

Differential Revision: https://reviews.llvm.org/D118831

37 files changed:
libcxx/docs/index.rst
libcxx/test/libcxx/atomics/bit-int.verify.cpp
libcxx/test/std/containers/views/span.cons/assign.pass.cpp
libcxx/test/std/containers/views/span.cons/copy.pass.cpp
libcxx/test/std/containers/views/span.cons/initializer_list.pass.cpp
libcxx/test/std/containers/views/span.cons/iterator_len.pass.cpp
libcxx/test/std/containers/views/span.cons/iterator_len.verify.cpp
libcxx/test/std/containers/views/span.cons/iterator_sentinel.pass.cpp
libcxx/test/std/containers/views/span.cons/iterator_sentinel.verify.cpp
libcxx/test/std/containers/views/span.cons/range.pass.cpp
libcxx/test/std/containers/views/span.elem/back.pass.cpp
libcxx/test/std/containers/views/span.elem/data.pass.cpp
libcxx/test/std/containers/views/span.elem/front.pass.cpp
libcxx/test/std/containers/views/span.elem/op_idx.pass.cpp
libcxx/test/std/containers/views/span.iterators/begin.pass.cpp
libcxx/test/std/containers/views/span.iterators/end.pass.cpp
libcxx/test/std/containers/views/span.iterators/rbegin.pass.cpp
libcxx/test/std/containers/views/span.iterators/rend.pass.cpp
libcxx/test/std/containers/views/span.objectrep/as_bytes.pass.cpp
libcxx/test/std/containers/views/span.objectrep/as_writable_bytes.fail.cpp
libcxx/test/std/containers/views/span.objectrep/as_writable_bytes.pass.cpp
libcxx/test/std/containers/views/span.obs/empty.pass.cpp
libcxx/test/std/containers/views/span.obs/size.pass.cpp
libcxx/test/std/containers/views/span.obs/size_bytes.pass.cpp
libcxx/test/std/containers/views/span.sub/first.fail.cpp
libcxx/test/std/containers/views/span.sub/first.pass.cpp
libcxx/test/std/containers/views/span.sub/last.fail.cpp
libcxx/test/std/containers/views/span.sub/last.pass.cpp
libcxx/test/std/containers/views/span.sub/subspan.fail.cpp
libcxx/test/std/containers/views/span.sub/subspan.pass.cpp
libcxx/test/std/language.support/cmp/cmp.categories.pre/zero_type.verify.cpp
libcxx/test/std/language.support/cmp/cmp.partialord/partialord.pass.cpp
libcxx/test/std/language.support/cmp/cmp.strongord/strongord.pass.cpp
libcxx/test/std/language.support/cmp/cmp.weakord/weakord.pass.cpp
libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.const_char_array.pass.cpp
libcxx/utils/ci/buildkite-pipeline.yml
libcxx/utils/ci/run-buildbot

index b1560a5..92a716d 100644 (file)
@@ -104,8 +104,8 @@ velocity, libc++ drops support for older compilers as newer ones are released.
 ============ =============== ========================== =====================
 Compiler     Versions        Restrictions               Support policy
 ============ =============== ========================== =====================
-Clang        12, 13                                     latest two stable releases per `LLVM's release page <https://releases.llvm.org>`_
-AppleClang   12                                         latest stable release per `Xcode's release page <https://developer.apple.com/documentation/xcode-release-notes>`_
+Clang        13, 14                                     latest two stable releases per `LLVM's release page <https://releases.llvm.org>`_
+AppleClang   13                                         latest stable release per `Xcode's release page <https://developer.apple.com/documentation/xcode-release-notes>`_
 Open XL      17.1 (AIX)                                 latest stable release per `Open XL's documentation page <https://www.ibm.com/docs/en/openxl-c-and-cpp-aix>`_
 GCC          11              In C++11 or later only     latest stable release per `GCC's release page <https://gcc.gnu.org/releases.html>`_
 ============ =============== ========================== =====================
index fb08096..549fd05 100644 (file)
@@ -12,8 +12,8 @@
 // disable them for now until their behavior can be designed better later.
 // See https://reviews.llvm.org/D84049 for details.
 
-// UNSUPPORTED: apple-clang-12, apple-clang-13, apple-clang-14
-// UNSUPPORTED: clang-12, clang-13
+// UNSUPPORTED: apple-clang-13, apple-clang-14
+// UNSUPPORTED: clang-13
 
 // UNSUPPORTED: c++03
 
index 4fa2184..0228386 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 //  constexpr span& operator=(const span& other) noexcept = default;
index 064680e..28f13e1 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 //  constexpr span(const span& other) noexcept = default;
index 916df32..d0f4cc7 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 #include <span>
index a9ed3f1..f197330 100644 (file)
@@ -7,9 +7,6 @@
 //===---------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template <class It>
index 81a47a9..0372e00 100644 (file)
@@ -7,9 +7,6 @@
 //===---------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template <class It>
index 49759b2..f744af7 100644 (file)
@@ -7,9 +7,6 @@
 //===---------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template <class It, class End>
index d84c7c0..9ac9a03 100644 (file)
@@ -7,9 +7,6 @@
 //===---------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template <class It, class End>
index f5c67ac..14b0313 100644 (file)
@@ -8,9 +8,6 @@
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 // UNSUPPORTED: libcpp-has-no-incomplete-ranges
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 //  template<class R>
index 497e8e4..dfc01d5 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // constexpr reference back() const noexcept;
index fd6e2b3..1bf63f9 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // constexpr pointer data() const noexcept;
index 135168e..e1c9a0c 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // constexpr reference front() const noexcept;
index 8c324d0..f6b7fbc 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // constexpr reference operator[](size_type idx) const;
index 212b428..f6b2401 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // constexpr       iterator  begin() const noexcept;
index ef8370d..d531537 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // constexpr       iterator  end() const noexcept;
index b5ce5a9..26e4389 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // constexpr       reverse_iterator  rbegin() const noexcept;
index b71019a..c2bd13a 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // constexpr       reverse_iterator  rend() const noexcept;
index 4d2b8db..1f58d0f 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template <class ElementType, size_t Extent>
index a985208..e7c4d35 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template <class ElementType, size_t Extent>
index 3b68e15..6b7bd5d 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template <class ElementType, size_t Extent>
index 24129d4..3aa99b0 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // [[nodiscard]] constexpr bool empty() const noexcept;
index 18ee056..5be7b98 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // constexpr size_type size() const noexcept;
index e798e02..9ce6d26 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // constexpr size_type size_bytes() const noexcept;
index 8db6934..176311f 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template<size_t Count>
index 0bebc8a..2b04cb0 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template<size_t Count>
index 24bcdf4..9cff076 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template<size_t Count>
index 2859bdf..6fa6edf 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template<size_t Count>
index 5f1d0b6..33eeda0 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template<size_t Offset, size_t Count = dynamic_extent>
index b447500..f426ab6 100644 (file)
@@ -7,9 +7,6 @@
 //===----------------------------------------------------------------------===//
 // UNSUPPORTED: c++03, c++11, c++14, c++17
 
-// AppleClang 12.0.0 doesn't fully support ranges/concepts
-// XFAIL: apple-clang-12.0.0
-
 // <span>
 
 // template<size_t Offset, size_t Count = dynamic_extent>
index 872c897..6d2687f 100644 (file)
@@ -7,7 +7,6 @@
 //===----------------------------------------------------------------------===//
 
 // UNSUPPORTED: c++03, c++11, c++14, c++17
-// UNSUPPORTED: apple-clang-12
 
 // In MSVC mode, there's a slightly different number of errors printed for
 // each of these, so it doesn't add up to the exact expected count of 18.
index f42e451..079a5e9 100644 (file)
@@ -7,7 +7,6 @@
 //===----------------------------------------------------------------------===//
 
 // UNSUPPORTED: c++03, c++11, c++14, c++17
-// UNSUPPORTED: apple-clang-12
 
 // <compare>
 
index b53b3c6..822c4f2 100644 (file)
@@ -7,7 +7,6 @@
 //===----------------------------------------------------------------------===//
 
 // UNSUPPORTED: c++03, c++11, c++14, c++17
-// UNSUPPORTED: apple-clang-12
 
 // <compare>
 
index c6c56b7..a053791 100644 (file)
@@ -7,7 +7,6 @@
 //===----------------------------------------------------------------------===//
 
 // UNSUPPORTED: c++03, c++11, c++14, c++17
-// UNSUPPORTED: apple-clang-12
 
 // <compare>
 
index ac7f25f..441deef 100644 (file)
@@ -203,8 +203,8 @@ steps:
           limit: 2
     timeout_in_minutes: 120
 
-  - label: "Clang 12"
-    command: "libcxx/utils/ci/run-buildbot generic-clang-12"
+  - label: "Clang 13"
+    command: "libcxx/utils/ci/run-buildbot generic-clang-13"
     artifact_paths:
       - "**/test-results.xml"
       - "**/*.abilist"
@@ -217,8 +217,8 @@ steps:
           limit: 2
     timeout_in_minutes: 120
 
-  - label: "Clang 13"
-    command: "libcxx/utils/ci/run-buildbot generic-clang-13"
+  - label: "Clang 14"
+    command: "libcxx/utils/ci/run-buildbot generic-clang-14"
     artifact_paths:
       - "**/test-results.xml"
       - "**/*.abilist"
index d0dbedd..bdc5e50 100755 (executable)
@@ -276,18 +276,18 @@ generic-static)
                    -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-static.cfg.in"
     check-runtimes
 ;;
-generic-clang-12)
-    export CC=clang-12
-    export CXX=clang++-12
+generic-clang-13)
+    export CC=clang-13
+    export CXX=clang++-13
     clean
     generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \
                    -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in"
     check-runtimes
     check-abi-list
 ;;
-generic-clang-13)
-    export CC=clang-13
-    export CXX=clang++-13
+generic-clang-14)
+    export CC=clang-14
+    export CXX=clang++-14
     clean
     generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \
                    -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in"