mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-27 07:31:28 +00:00
[libc++] Fix problems with GCC 13 and switch to it in the CI
Reviewed By: #libc, #libc_abi, Mordante Spies: arphaman, Mordante, libcxx-commits, arichardson Differential Revision: https://reviews.llvm.org/D157060
This commit is contained in:
parent
051c863012
commit
f29c54998d
@ -22,7 +22,8 @@
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
#if __has_builtin(__is_nothrow_constructible)
|
||||
// GCC is disabled due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106611
|
||||
#if __has_builtin(__is_nothrow_constructible) && !defined(_LIBCPP_COMPILER_GCC)
|
||||
|
||||
template < class _Tp, class... _Args>
|
||||
struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible
|
||||
|
@ -15,7 +15,7 @@
|
||||
// UNSUPPORTED: clang-15, clang-16, clang-17, clang-18
|
||||
|
||||
// TODO: Investigate this failure on GCC 12 (in Ubuntu Jammy)
|
||||
// UNSUPPORTED: gcc-12
|
||||
// UNSUPPORTED: gcc-12, gcc-13
|
||||
|
||||
// RUN: %{cxx} %{flags} %s -o %t.exe %{compile_flags} -g %{link_flags}
|
||||
// Ensure locale-independence for unicode tests.
|
||||
|
@ -11,7 +11,7 @@
|
||||
// https://buildkite.com/llvm-project/libcxx-ci/builds/15823#0184fc0b-d56b-4774-9e1d-35fe24e09e37
|
||||
// It seems like the CI gcc version is buggy. I can't reproduce the failure on my system or on
|
||||
// godbolt (https://godbolt.org/z/rsPv8e8fn).
|
||||
// UNSUPPORTED: gcc-12
|
||||
// UNSUPPORTED: gcc-12, gcc-13
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstddef>
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17
|
||||
// TODO FMT __builtin_memcpy isn't constexpr in GCC
|
||||
// UNSUPPORTED: gcc-12
|
||||
// UNSUPPORTED: gcc-12, gcc-13
|
||||
|
||||
// <format>
|
||||
|
||||
|
@ -117,9 +117,12 @@ int main(int, char**)
|
||||
|
||||
// Non-referencable function type
|
||||
static_assert((!std::is_convertible<ConstFunction, Function>::value), "");
|
||||
// TODO(LLVM-19): Re-enable this once we switch to GCC 14. This is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680
|
||||
#ifndef TEST_COMPILER_GCC
|
||||
static_assert((!std::is_convertible<ConstFunction, Function*>::value), "");
|
||||
static_assert((!std::is_convertible<ConstFunction, Function&>::value), "");
|
||||
static_assert((!std::is_convertible<ConstFunction, Function&&>::value), "");
|
||||
#endif
|
||||
static_assert((!std::is_convertible<Function*, ConstFunction>::value), "");
|
||||
static_assert((!std::is_convertible<Function&, ConstFunction>::value), "");
|
||||
static_assert((!std::is_convertible<ConstFunction, ConstFunction>::value), "");
|
||||
|
@ -10,6 +10,8 @@
|
||||
|
||||
// ADDITIONAL_COMPILE_FLAGS: -D _LIBCPP_USE_IS_CONVERTIBLE_FALLBACK
|
||||
|
||||
// UNSUPPORTED: gcc-13
|
||||
|
||||
// type_traits
|
||||
|
||||
// is_convertible
|
||||
|
@ -28,7 +28,7 @@ env:
|
||||
# LLVM RELEASE bump remove compiler ToT - 3, e.g. "Clang 15"
|
||||
LLVM_STABLE_VERSION: "16" # Used for tooling, update after the RELEASE.
|
||||
LLVM_HEAD_VERSION: "18" # Used compiler, update POST-BRANCH.
|
||||
GCC_STABLE_VERSION: "12"
|
||||
GCC_STABLE_VERSION: "13"
|
||||
steps:
|
||||
#
|
||||
# Light pre-commit tests for things like formatting or when people forget
|
||||
|
@ -57,6 +57,14 @@ _warningFlags = [
|
||||
# Don't fail compilation in case the compiler fails to perform the requested
|
||||
# loop vectorization.
|
||||
"-Wno-pass-failed",
|
||||
|
||||
# TODO: Find out why GCC warns in lots of places (is this a problem with always_inline?)
|
||||
"-Wno-dangling-reference",
|
||||
"-Wno-mismatched-new-delete",
|
||||
"-Wno-redundant-move",
|
||||
|
||||
# This doesn't make sense in real code, but we have to test it because the standard requires us to not break
|
||||
"-Wno-self-move",
|
||||
]
|
||||
|
||||
_allStandards = ["c++03", "c++11", "c++14", "c++17", "c++20", "c++23", "c++26"]
|
||||
|
@ -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, gcc-12
|
||||
// XFAIL: gcc-11, gcc-12, gcc-13
|
||||
|
||||
#include <cassert>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user