diff --git a/Common/Serialize/SerializeFuncs.h b/Common/Serialize/SerializeFuncs.h index 3080749fa3..0c89450c5d 100644 --- a/Common/Serialize/SerializeFuncs.h +++ b/Common/Serialize/SerializeFuncs.h @@ -33,11 +33,7 @@ void Do(PointerWrap &p, tm &t); // This makes it a compile error if you forget to define DoState() on non-POD. // Which also can be a problem, for example struct tm is non-POD on linux, for whatever reason... -#ifdef _MSC_VER -template::value, bool isPointer = std::is_pointer::value> -#else -template::value> -#endif +template::value && std::is_trivial::value, bool isPointer = std::is_pointer::value> struct DoHelper_ { static void DoArray(PointerWrap &p, T *x, int count) { for (int i = 0; i < count; ++i)