summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authordhust <rafaelmoura.dev@gmail.com>2016-06-16 17:31:51 -0300
committerdhust <rafaelmoura.dev@gmail.com>2016-06-19 18:32:19 -0300
commit19fed720ff4a0acf7effc5e1b11b2cedbde009dc (patch)
tree5d22eb091f1f8850d96ff59a74555ad819d6a0aa /Source/Core
parentc8d0eb103af305715d180e218878ba2e32208051 (diff)
_DEFAULT_SOURCE flag added, and clang check for IsTriviallyCopyable macro
fix clang ver check for 4.0 + using clang macro __has_feature __GLIBCXX__ check added fix __has_feature
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Common/ChunkFile.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/Core/Common/ChunkFile.h b/Source/Core/Common/ChunkFile.h
index 0f177e6761..67066dd206 100644
--- a/Source/Core/Common/ChunkFile.h
+++ b/Source/Core/Common/ChunkFile.h
@@ -32,7 +32,12 @@
#include "Common/Logging/Log.h"
// ewww
-#if _LIBCPP_VERSION || __GNUC__ >= 5
+
+#ifndef __has_feature
+ #define __has_feature(x) (0)
+#endif
+
+#if (__has_feature(is_trivially_copyable) && (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__))) || (defined(__GNUC__) && __GNUC__ >= 5)
#define IsTriviallyCopyable(T) std::is_trivially_copyable<typename std::remove_volatile<T>::type>::value
#elif __GNUC__
#define IsTriviallyCopyable(T) std::has_trivial_copy_constructor<T>::value