From 20e5ddeba66121e59058fbe00896e25b5f82ed44 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 10 Mar 2016 15:19:16 +0100 Subject: xmlpatternssdk: Fix compilation with MSVC 2015. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change exported class ExpressionInfo to not inherit QPair<>, use normal member variables for the name/details strings instead. Exporting classes inheriting QPair<> is not possible due to a compiler bug in MSVC 2015. src/corelib/tools/qpair.h(83): error C2065: 'TT1': undeclared identifier src/corelib/tools/qpair.h(83): note: This diagnostic occurred in the compiler generated function 'QPair &QPair::operator =(QPair &&) noexcept()' src/corelib/tools/qpair.h(83): error C2923: 'std::is_nothrow_assignable': 'TT1' is not a valid template type argument for parameter '_From' Task-number: QTBUG-49658 Change-Id: Ib2c27a4c2b0aae28b4de6086c8ddc0220e205075 Reviewed-by: Kai Koehne Reviewed-by: Jędrzej Nowacki --- tests/auto/xmlpatternssdk/DebugExpressionFactory.cpp | 4 ++-- tests/auto/xmlpatternssdk/ExpressionInfo.cpp | 4 +++- tests/auto/xmlpatternssdk/ExpressionInfo.h | 8 +++++++- 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/auto/xmlpatternssdk/DebugExpressionFactory.cpp b/tests/auto/xmlpatternssdk/DebugExpressionFactory.cpp index 8973739..079bc2c 100644 --- a/tests/auto/xmlpatternssdk/DebugExpressionFactory.cpp +++ b/tests/auto/xmlpatternssdk/DebugExpressionFactory.cpp @@ -70,8 +70,8 @@ ASTItem *DebugExpressionFactory::buildASTTree(const QPatternist::Expression::Ptr const QPatternist::ExpressionVisitorResult::Ptr exprInfo(expr->accept(namer)); Q_ASSERT(exprInfo); const ExpressionInfo *const constExprInfo = static_cast(exprInfo.data()); - const QString name(constExprInfo->first); - const QString details(constExprInfo->second); + const QString name(constExprInfo->name()); + const QString details(constExprInfo->details()); const QString rType(reqType ? reqType->displayName(Global::namePool()) : QLatin1String("Not specified")); /* ---------- Handle its staticType() -------- */ diff --git a/tests/auto/xmlpatternssdk/ExpressionInfo.cpp b/tests/auto/xmlpatternssdk/ExpressionInfo.cpp index 35a1128..2aed6d9 100644 --- a/tests/auto/xmlpatternssdk/ExpressionInfo.cpp +++ b/tests/auto/xmlpatternssdk/ExpressionInfo.cpp @@ -33,7 +33,9 @@ using namespace QPatternistSDK; ExpressionInfo::ExpressionInfo(const QString &name, - const QString &details) : QPair(name, details) + const QString &details) + : m_name(name) + , m_details(details) { } diff --git a/tests/auto/xmlpatternssdk/ExpressionInfo.h b/tests/auto/xmlpatternssdk/ExpressionInfo.h index 5eb5b66..3705529 100644 --- a/tests/auto/xmlpatternssdk/ExpressionInfo.h +++ b/tests/auto/xmlpatternssdk/ExpressionInfo.h @@ -50,10 +50,16 @@ namespace QPatternistSDK * @author Frans Englich */ class Q_PATTERNISTSDK_EXPORT ExpressionInfo : public QPatternist::ExpressionVisitorResult - , public QPair { public: ExpressionInfo(const QString &name, const QString &details); + + QString name() const { return m_name; } + QString details() const { return m_details; } + + private: + QString m_name; + QString m_details; }; } -- cgit v1.2.1