diff --git a/libcxx/docs/index.rst b/libcxx/docs/index.rst --- a/libcxx/docs/index.rst +++ b/libcxx/docs/index.rst @@ -107,7 +107,7 @@ Clang 13, 14 latest two stable releases per `LLVM's release page `_ AppleClang 13 latest stable release per `Xcode's release page `_ Open XL 17.1 (AIX) latest stable release per `Open XL's documentation page `_ -GCC 11 In C++11 or later only latest stable release per `GCC's release page `_ +GCC 12 In C++11 or later only latest stable release per `GCC's release page `_ ============ =============== ========================== ===================== Libc++ also supports common platforms and architectures: diff --git a/libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.const_char_array.pass.cpp b/libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.const_char_array.pass.cpp --- a/libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.const_char_array.pass.cpp +++ b/libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.const_char_array.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // diff --git a/libcxx/test/std/utilities/format/format.functions/format.locale.pass.cpp b/libcxx/test/std/utilities/format/format.functions/format.locale.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/format.locale.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/format.locale.pass.cpp @@ -9,7 +9,7 @@ // UNSUPPORTED: no-localization // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // TODO FMT Investigate AppleClang ICE // UNSUPPORTED: apple-clang-13 diff --git a/libcxx/test/std/utilities/format/format.functions/format.pass.cpp b/libcxx/test/std/utilities/format/format.functions/format.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/format.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/format.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // TODO FMT Investigate AppleClang ICE // UNSUPPORTED: apple-clang-13 diff --git a/libcxx/test/std/utilities/format/format.functions/format_to.locale.pass.cpp b/libcxx/test/std/utilities/format/format.functions/format_to.locale.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/format_to.locale.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/format_to.locale.pass.cpp @@ -9,7 +9,7 @@ // UNSUPPORTED: no-localization // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // TODO FMT Investigate AppleClang ICE // UNSUPPORTED: apple-clang-13 diff --git a/libcxx/test/std/utilities/format/format.functions/format_to.pass.cpp b/libcxx/test/std/utilities/format/format.functions/format_to.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/format_to.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/format_to.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // TODO FMT Investigate AppleClang ICE // UNSUPPORTED: apple-clang-13 diff --git a/libcxx/test/std/utilities/format/format.functions/format_to_n.locale.pass.cpp b/libcxx/test/std/utilities/format/format.functions/format_to_n.locale.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/format_to_n.locale.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/format_to_n.locale.pass.cpp @@ -9,7 +9,7 @@ // UNSUPPORTED: no-localization // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // TODO FMT Investigate AppleClang ICE // UNSUPPORTED: apple-clang-13 diff --git a/libcxx/test/std/utilities/format/format.functions/format_to_n.pass.cpp b/libcxx/test/std/utilities/format/format.functions/format_to_n.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/format_to_n.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/format_to_n.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // TODO FMT Investigate AppleClang ICE // UNSUPPORTED: apple-clang-13 diff --git a/libcxx/test/std/utilities/format/format.functions/formatted_size.locale.pass.cpp b/libcxx/test/std/utilities/format/format.functions/formatted_size.locale.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/formatted_size.locale.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/formatted_size.locale.pass.cpp @@ -9,7 +9,7 @@ // UNSUPPORTED: no-localization // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // TODO FMT Investigate AppleClang ICE // UNSUPPORTED: apple-clang-13 diff --git a/libcxx/test/std/utilities/format/format.functions/formatted_size.pass.cpp b/libcxx/test/std/utilities/format/format.functions/formatted_size.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/formatted_size.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/formatted_size.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // TODO FMT Investigate AppleClang ICE // UNSUPPORTED: apple-clang-13 diff --git a/libcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp b/libcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp @@ -15,7 +15,7 @@ // XFAIL: LIBCXX-DEBUG-FIXME // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // REQUIRES: locale.en_US.UTF-8 diff --git a/libcxx/test/std/utilities/format/format.functions/vformat.locale.pass.cpp b/libcxx/test/std/utilities/format/format.functions/vformat.locale.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/vformat.locale.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/vformat.locale.pass.cpp @@ -9,7 +9,7 @@ // UNSUPPORTED: no-localization // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // TODO FMT Investigate AppleClang ICE // UNSUPPORTED: apple-clang-13 diff --git a/libcxx/test/std/utilities/format/format.functions/vformat.pass.cpp b/libcxx/test/std/utilities/format/format.functions/vformat.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/vformat.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/vformat.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // TODO FMT Investigate AppleClang ICE // UNSUPPORTED: apple-clang-13 diff --git a/libcxx/test/std/utilities/format/format.functions/vformat_to.locale.pass.cpp b/libcxx/test/std/utilities/format/format.functions/vformat_to.locale.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/vformat_to.locale.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/vformat_to.locale.pass.cpp @@ -9,7 +9,7 @@ // UNSUPPORTED: no-localization // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // TODO FMT Investigate AppleClang ICE // UNSUPPORTED: apple-clang-13 diff --git a/libcxx/test/std/utilities/format/format.functions/vformat_to.pass.cpp b/libcxx/test/std/utilities/format/format.functions/vformat_to.pass.cpp --- a/libcxx/test/std/utilities/format/format.functions/vformat_to.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/vformat_to.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // UNSUPPORTED: libcpp-has-no-incomplete-format // TODO FMT Evaluate gcc-11 status -// UNSUPPORTED: gcc-11 +// UNSUPPORTED: gcc-11, gcc-12 // TODO FMT Investigate AppleClang ICE // UNSUPPORTED: apple-clang-13 diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp --- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp +++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp @@ -11,7 +11,7 @@ // GCC's implementation of class template deduction is still immature and runs // into issues with libc++. However GCC accepts this code when compiling // against libstdc++. -// XFAIL: gcc +// XFAIL: gcc-11 // diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -281,8 +281,8 @@ check-abi-list ;; generic-gcc) - export CC=gcc-11 - export CXX=g++-11 + export CC=gcc-12 + export CXX=g++-12 clean generate-cmake -DLIBCXX_ENABLE_WERROR=NO \ -DLIBCXXABI_ENABLE_WERROR=NO \ @@ -290,8 +290,8 @@ check-runtimes ;; generic-gcc-cxx11) - export CC=gcc-11 - export CXX=g++-11 + export CC=gcc-12 + export CXX=g++-12 clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx11.cmake" \ -DLIBCXX_ENABLE_WERROR=NO \ diff --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py --- a/libcxx/utils/libcxx/test/params.py +++ b/libcxx/utils/libcxx/test/params.py @@ -28,6 +28,10 @@ # functions, but we know better what we're doing/testing in the test suite. '-Wno-sized-deallocation', + # GCC warns about this when TEST_IS_CONSTANT_EVALUATED is used on a non-constexpr + # function. (This mostely happens in C++11 mode.) + '-Wno-tautological-compare', + # Turn off warnings about user-defined literals with reserved suffixes. Those are # just noise since we are testing the Standard Library itself. '-Wno-literal-suffix', # GCC diff --git a/libcxxabi/test/catch_member_function_pointer_02.pass.cpp b/libcxxabi/test/catch_member_function_pointer_02.pass.cpp --- a/libcxxabi/test/catch_member_function_pointer_02.pass.cpp +++ b/libcxxabi/test/catch_member_function_pointer_02.pass.cpp @@ -15,7 +15,7 @@ // GCC supports noexcept function types but this test still fails. // This is likely a bug in their implementation. Investigation needed. -// XFAIL: gcc-11 +// XFAIL: gcc-11, gcc-12 #include