CI updates

This commit is contained in:
Markus F.X.J. Oberhumer
2024-04-20 12:29:32 +02:00
parent 1d2b276425
commit e4de14612f
9 changed files with 22 additions and 34 deletions
+7 -3
View File
@@ -364,11 +364,15 @@ struct TestTriBool {
static_assert(std::is_trivially_copyable<T>::value);
static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
#if (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC) && defined(__MINT__)
#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
// broken compiler or broken ABI
#elif __GNUC__ == 7 && defined(__i386__) && !defined(__clang__)
#elif defined(__i386__) && defined(__clang__) && (__clang_major__ < 9)
static_assert(sizeof(T) == sizeof(typename T::underlying_type));
// gcc-7 "long long" enum align bug/ABI problem on i386
// i386: "long long" enum align bug/ABI problem on older compilers
static_assert(alignof(T) <= alignof(typename T::underlying_type));
#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
static_assert(sizeof(T) == sizeof(typename T::underlying_type));
// i386: "long long" enum align bug/ABI problem on older compilers
static_assert(alignof(T) <= alignof(typename T::underlying_type));
#else
static_assert(sizeof(T) == sizeof(typename T::underlying_type));