diff --git a/src/audio_core/hle/shared_memory.h b/src/audio_core/hle/shared_memory.h index 300de557c..8ab9aa88e 100644 --- a/src/audio_core/hle/shared_memory.h +++ b/src/audio_core/hle/shared_memory.h @@ -57,9 +57,7 @@ private: } u32_le storage; }; -#if (__GNUC__ >= 5) || defined(__clang__) || defined(_MSC_VER) static_assert(std::is_trivially_copyable::value, "u32_dsp isn't trivially copyable"); -#endif // There are 15 structures in each memory region. A table of them in the order they appear in memory // is presented below: @@ -102,21 +100,12 @@ static_assert(std::is_trivially_copyable::value, "u32_dsp isn't trivial #define INSERT_PADDING_DSPWORDS(num_words) INSERT_PADDING_BYTES(2 * (num_words)) -// GCC versions < 5.0 do not implement std::is_trivially_copyable. -// Excluding MSVC because it has weird behaviour for std::is_trivially_copyable. -#if (__GNUC__ >= 5) || defined(__clang__) #define ASSERT_DSP_STRUCT(name, size) \ static_assert(std::is_standard_layout::value, \ "DSP structure " #name " doesn't use standard layout"); \ static_assert(std::is_trivially_copyable::value, \ "DSP structure " #name " isn't trivially copyable"); \ static_assert(sizeof(name) == (size), "Unexpected struct size for DSP structure " #name) -#else -#define ASSERT_DSP_STRUCT(name, size) \ - static_assert(std::is_standard_layout::value, \ - "DSP structure " #name " doesn't use standard layout"); \ - static_assert(sizeof(name) == (size), "Unexpected struct size for DSP structure " #name) -#endif struct SourceConfiguration { struct Configuration { diff --git a/src/common/bit_field.h b/src/common/bit_field.h index 02266c7b9..574e211a8 100644 --- a/src/common/bit_field.h +++ b/src/common/bit_field.h @@ -195,10 +195,8 @@ private: }; #pragma pack() -#if (__GNUC__ >= 5) || defined(__clang__) || defined(_MSC_VER) static_assert(std::is_trivially_copyable>::value, "BitField must be trivially copyable"); -#endif template using BitFieldBE = BitField; diff --git a/src/common/swap.h b/src/common/swap.h index 4b82865fe..b3eab1324 100644 --- a/src/common/swap.h +++ b/src/common/swap.h @@ -30,8 +30,8 @@ #include #include "common/common_types.h" -// GCC 4.6+ -#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) +// GCC +#ifdef __GNUC__ #if __BYTE_ORDER__ && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) && !defined(COMMON_LITTLE_ENDIAN) #define COMMON_LITTLE_ENDIAN 1 @@ -40,7 +40,7 @@ #endif // LLVM/clang -#elif __clang__ +#elif defined(__clang__) #if __LITTLE_ENDIAN__ && !defined(COMMON_LITTLE_ENDIAN) #define COMMON_LITTLE_ENDIAN 1 diff --git a/src/core/hle/service/ldr_ro/cro_helper.h b/src/core/hle/service/ldr_ro/cro_helper.h index c9b1c7993..60a68dab5 100644 --- a/src/core/hle/service/ldr_ro/cro_helper.h +++ b/src/core/hle/service/ldr_ro/cro_helper.h @@ -17,21 +17,12 @@ class Process; namespace Service::LDR { -// GCC versions < 5.0 do not implement std::is_trivially_copyable. -// Excluding MSVC because it has weird behaviour for std::is_trivially_copyable. -#if (__GNUC__ >= 5) || defined(__clang__) #define ASSERT_CRO_STRUCT(name, size) \ static_assert(std::is_standard_layout::value, \ "CRO structure " #name " doesn't use standard layout"); \ static_assert(std::is_trivially_copyable::value, \ "CRO structure " #name " isn't trivially copyable"); \ static_assert(sizeof(name) == (size), "Unexpected struct size for CRO structure " #name) -#else -#define ASSERT_CRO_STRUCT(name, size) \ - static_assert(std::is_standard_layout::value, \ - "CRO structure " #name " doesn't use standard layout"); \ - static_assert(sizeof(name) == (size), "Unexpected struct size for CRO structure " #name) -#endif static constexpr u32 CRO_HEADER_SIZE = 0x138; static constexpr u32 CRO_HASH_SIZE = 0x80;