Remove old GCC version checks

This commit is contained in:
Léo Lam 2017-12-25 22:53:44 +01:00
parent eb9969a1e2
commit 8a00a9e149
3 changed files with 2 additions and 26 deletions

View File

@ -35,20 +35,8 @@
// ewww // ewww
#ifndef __has_feature
#define __has_feature(x) (0)
#endif
#if (__has_feature(is_trivially_copyable) && \
(defined(_LIBCPP_VERSION) || defined(__GLIBCXX__))) || \
(defined(__GNUC__) && __GNUC__ >= 5) || defined(_MSC_VER)
#define IsTriviallyCopyable(T) \ #define IsTriviallyCopyable(T) \
std::is_trivially_copyable<typename std::remove_volatile<T>::type>::value std::is_trivially_copyable<typename std::remove_volatile<T>::type>::value
#elif __GNUC__
#define IsTriviallyCopyable(T) std::has_trivial_copy_constructor<T>::value
#else
#error No version of is_trivially_copyable
#endif
// Wrapper class // Wrapper class
class PointerWrap class PointerWrap

View File

@ -56,15 +56,9 @@ public:
{ {
using std::ios_base; using std::ios_base;
// Since we're reading/writing directly to the storage of K instances, // Since we're reading/writing directly to the storage of K instances,
// K must be trivially copyable. TODO: Remove #if once GCC 5.0 is a // K must be trivially copyable.
// minimum requirement.
#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 5
static_assert(std::has_trivial_copy_constructor<K>::value,
"K must be a trivially copyable type");
#else
static_assert(std::is_trivially_copyable<K>::value, "K must be a trivially copyable type"); static_assert(std::is_trivially_copyable<K>::value, "K must be a trivially copyable type");
#endif
// close any currently opened file // close any currently opened file
Close(); Close();

View File

@ -532,14 +532,8 @@ struct VK_PIPELINE_CACHE_HEADER
u8 uuid[VK_UUID_SIZE]; u8 uuid[VK_UUID_SIZE];
}; };
#pragma pack(pop) #pragma pack(pop)
// TODO: Remove the #if here when GCC 5 is a minimum build requirement.
#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 5
static_assert(std::has_trivial_copy_constructor<VK_PIPELINE_CACHE_HEADER>::value,
"VK_PIPELINE_CACHE_HEADER must be trivially copyable");
#else
static_assert(std::is_trivially_copyable<VK_PIPELINE_CACHE_HEADER>::value, static_assert(std::is_trivially_copyable<VK_PIPELINE_CACHE_HEADER>::value,
"VK_PIPELINE_CACHE_HEADER must be trivially copyable"); "VK_PIPELINE_CACHE_HEADER must be trivially copyable");
#endif
bool ShaderCache::ValidatePipelineCache(const u8* data, size_t data_length) bool ShaderCache::ValidatePipelineCache(const u8* data, size_t data_length)
{ {