From 141d718ce281f092c146e2d41ea51542ff7fe093 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 26 Nov 2012 10:57:14 +0100 Subject: Move isBuiltinType() to namespace QtPrivate and export it. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There is currently a symbol clash with a duplicated isBuiltinType() in ActiveQt's dumpcpp-tool, which breaks static building. Reuse the function. Task-number: QTBUG-28131 Change-Id: I4985e8405924754aa613311ca3f06d6ba29758b8 Reviewed-by: Miikka Heikkinen Reviewed-by: Jędrzej Nowacki --- src/corelib/kernel/qmetaobjectbuilder.cpp | 10 ++++++---- src/corelib/kernel/qmetatype.h | 4 +++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/corelib/kernel/qmetaobjectbuilder.cpp b/src/corelib/kernel/qmetaobjectbuilder.cpp index 9380f4615a..e4a645c496 100644 --- a/src/corelib/kernel/qmetaobjectbuilder.cpp +++ b/src/corelib/kernel/qmetaobjectbuilder.cpp @@ -79,13 +79,15 @@ QT_BEGIN_NAMESPACE */ // copied from moc's generator.cpp -bool isBuiltinType(const QByteArray &type) +namespace QtPrivate { +Q_CORE_EXPORT bool isBuiltinType(const QByteArray &type) { int id = QMetaType::type(type); if (!id && !type.isEmpty() && type != "void") return false; return (id < QMetaType::User); } +} // namespace QtPrivate // copied from qmetaobject.cpp static inline const QMetaObjectPrivate *priv(const uint* data) @@ -1324,7 +1326,7 @@ static int buildMetaObject(QMetaObjectBuilderPrivate *d, char *buf, for (int i = -1; i < paramCount; ++i) { const QByteArray &typeName = (i < 0) ? method->returnType : paramTypeNames.at(i); int typeInfo; - if (isBuiltinType(typeName)) + if (QtPrivate::isBuiltinType(typeName)) typeInfo = QMetaType::type(typeName); else typeInfo = IsUnresolvedType | strings.enter(typeName); @@ -1352,14 +1354,14 @@ static int buildMetaObject(QMetaObjectBuilderPrivate *d, char *buf, int name = strings.enter(prop->name); int typeInfo; - if (isBuiltinType(prop->type)) + if (QtPrivate::isBuiltinType(prop->type)) typeInfo = QMetaType::type(prop->type); else typeInfo = IsUnresolvedType | strings.enter(prop->type); int flags = prop->flags; - if (!isBuiltinType(prop->type)) + if (!QtPrivate::isBuiltinType(prop->type)) flags |= EnumOrFlag; if (buf) { diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h index 45cb6db853..06d325f383 100644 --- a/src/corelib/kernel/qmetatype.h +++ b/src/corelib/kernel/qmetatype.h @@ -509,7 +509,9 @@ namespace QtPrivate { enum { Value = true }; }; -} + + Q_CORE_EXPORT bool isBuiltinType(const QByteArray &type); +} // namespace QtPrivate template ::Value> struct QMetaTypeIdQObject -- cgit v1.2.3