summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-10-07 15:19:26 +0200
committerLars Knoll <lars.knoll@qt.io>2020-10-08 08:21:48 +0200
commit8ccae33a8114ea7da49701b5d7c9f6733a219711 (patch)
tree16dcc87b584660980153da9a4fbd35640203876c /src/corelib/kernel
parent564b59d903683b14c75b72a3e93367717f201def (diff)
Fix compilation on MSVC with /std:c++latest
Inline the definition of QMetaTypeForType::name and make it constexpr. The old code was conflicting in it's definition (only const in the declaration, constexpr in the definition), something MSVC didn't like. Fixes: QTBUG-87225 Change-Id: I7182c421c9f7612e4ff3d538829b2daee0fe4c5c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r--src/corelib/kernel/qmetatype.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h
index 971388fabd..a6631dc2d9 100644
--- a/src/corelib/kernel/qmetatype.h
+++ b/src/corelib/kernel/qmetatype.h
@@ -2111,7 +2111,7 @@ struct QDataStreamOperatorForType <T, false>
template<typename S>
class QMetaTypeForType
{
- static const decltype(typenameHelper<S>()) name;
+ static constexpr decltype(typenameHelper<S>()) name = typenameHelper<S>();
template<typename T>
static constexpr QMetaTypeInterface::DefaultCtrFn getDefaultCtr()
@@ -2200,14 +2200,9 @@ QMetaTypeInterface QMetaTypeForType<T>::metaType = {
/*.legacyRegisterOp=*/ getLegacyRegister<T>()
};
-template<typename T>
-constexpr const decltype(typenameHelper<T>()) QMetaTypeForType<T>::name = typenameHelper<T>();
-
template<>
class QMetaTypeForType<void>
{
- static const decltype(typenameHelper<void>()) name;
-
public:
static inline QMetaTypeInterface metaType =
{