Put MSVC back into the dumb compiler's corner.

It fails to compile std::trivially_copyable for forward-declared enums.

llvm-svn: 230023
This commit is contained in:
Benjamin Kramer 2015-02-20 16:35:42 +00:00
parent 4e892f9c6c
commit d50f33d996
1 changed files with 3 additions and 3 deletions

View File

@ -28,10 +28,10 @@ namespace llvm {
/// type can be copied around with memcpy instead of running ctors etc.
template <typename T>
struct isPodLike {
// std::is_trivially copyable is available in libc++ with clang, libstdc++
// that comes with GCC 5 and MSVC 2013.
// std::is_trivially_copyable is available in libc++ with clang, libstdc++
// that comes with GCC 5.
#if (__has_feature(is_trivially_copyable) && defined(_LIBCPP_VERSION)) || \
(defined(__GNUC__) && __GNUC__ >= 5) || defined(_MSC_VER)
(defined(__GNUC__) && __GNUC__ >= 5)
// If the compiler supports the is_trivially_copyable trait use it, as it
// matches the definition of isPodLike closely.
static const bool value = std::is_trivially_copyable<T>::value;