diff options
Diffstat (limited to 'src/corelib/global/qtypeinfo.h')
-rw-r--r-- | src/corelib/global/qtypeinfo.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/corelib/global/qtypeinfo.h b/src/corelib/global/qtypeinfo.h index 9b2119da1d..473854f230 100644 --- a/src/corelib/global/qtypeinfo.h +++ b/src/corelib/global/qtypeinfo.h @@ -23,7 +23,13 @@ class QDebug; namespace QtPrivate { template <typename T> -inline constexpr bool qIsRelocatable = std::is_trivially_copyable_v<T> && std::is_trivially_destructible_v<T>; +inline constexpr bool qIsRelocatable = (std::is_trivially_copyable_v<T> && std::is_trivially_destructible_v<T>) +#if defined(__has_builtin) +#if __has_builtin(__is_trivially_relocatable) + || __is_trivially_relocatable(T) +#endif +#endif + ; // Denotes types that are trivially default constructible, and for which // value-initialization can be achieved by filling their storage with 0 bits. |