Merge remote-tracking branch 'origin/4.5'

Change-Id: I86852d289c22210a0439e8e297819dc7276a96de
This commit is contained in:
Eike Ziller
2017-11-29 09:56:22 +01:00
17 changed files with 52 additions and 14 deletions

View File

@@ -2743,7 +2743,10 @@ class DumperBase:
#warn('BITFIELD VALUE: %s %d %s' % (value.name, value.lvalue, typeName)) #warn('BITFIELD VALUE: %s %d %s' % (value.name, value.lvalue, typeName))
self.putNumChild(0) self.putNumChild(0)
if typeobj.ltarget and typeobj.ltarget.code == TypeCodeEnum: if typeobj.ltarget and typeobj.ltarget.code == TypeCodeEnum:
self.putValue(typeobj.ltarget.typeData().enumHexDisplay(value.lvalue, value.laddress)) if hasattr(typeobj.ltarget.typeData(), 'enumHexDisplay'):
self.putValue(typeobj.ltarget.typeData().enumHexDisplay(value.lvalue, value.laddress))
else:
self.putValue(typeobj.ltarget.typeData().enumDisplay(value.lvalue, value.laddress))
else: else:
self.putValue(value.lvalue) self.putValue(value.lvalue)
self.putType(typeName) self.putType(typeName)

View File

@@ -11,7 +11,9 @@ int main(int argc, char *argv[])
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard")); qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
@endif @endif
#if defined(Q_OS_WIN)
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
QGuiApplication app(argc, argv); QGuiApplication app(argc, argv);

View File

@@ -72,7 +72,7 @@ int ImportMatchStrength::compareMatch(const ImportMatchStrength &o) const
int v2 = o.m_match.at(i); int v2 = o.m_match.at(i);
if (v1 < v2) if (v1 < v2)
return -1; return -1;
if (v2 > v1) if (v1 > v2)
return 1; return 1;
} }
if (len1 < len2) if (len1 < len2)

View File

@@ -1574,6 +1574,7 @@ static KnownType knownClassTypeHelper(const std::string &type,
case 29: case 29:
if (!type.compare(qPos, 29, "QXmlStreamNotationDeclaration")) if (!type.compare(qPos, 29, "QXmlStreamNotationDeclaration"))
return KT_QXmlStreamNotationDeclaration; return KT_QXmlStreamNotationDeclaration;
break;
case 30: case 30:
if (!type.compare(qPos, 30, "QPatternist::SequenceType::Ptr")) if (!type.compare(qPos, 30, "QPatternist::SequenceType::Ptr"))
return KT_QPatternist_SequenceType_Ptr; return KT_QPatternist_SequenceType_Ptr;

View File

@@ -811,7 +811,7 @@ void AndroidRunner::setRunnable(const AndroidRunnable &runnable)
void AndroidRunner::launchAVD() void AndroidRunner::launchAVD()
{ {
if (!m_target && !m_target->project()) if (!m_target || !m_target->project())
return; return;
int deviceAPILevel = AndroidManager::minimumSDK(m_target); int deviceAPILevel = AndroidManager::minimumSDK(m_target);

View File

@@ -140,11 +140,15 @@ void BackendReceiver::reset()
m_assistProcessorsTable.clear(); m_assistProcessorsTable.clear();
// Clean up futures for references // Clean up futures for references
for (ReferencesEntry &entry : m_referencesTable) for (ReferencesEntry &entry : m_referencesTable) {
entry.futureInterface.cancel(); entry.futureInterface.cancel();
entry.futureInterface.reportFinished();
}
m_referencesTable.clear(); m_referencesTable.clear();
for (QFutureInterface<CppTools::SymbolInfo> &futureInterface : m_followTable) for (QFutureInterface<CppTools::SymbolInfo> &futureInterface : m_followTable) {
futureInterface.cancel(); futureInterface.cancel();
futureInterface.reportFinished();
}
m_followTable.clear(); m_followTable.clear();
} }

View File

@@ -265,6 +265,7 @@ public:
case 8: case 8:
return decodeArrayHelper<qint64>(encoding.size); return decodeArrayHelper<qint64>(encoding.size);
} }
break;
case DebuggerEncoding::HexEncodedUnsignedInteger: case DebuggerEncoding::HexEncodedUnsignedInteger:
switch (encoding.size) { switch (encoding.size) {
case 1: case 1:

View File

@@ -56,16 +56,21 @@ const char GENERIC_BC_ID[] = "GenericProjectManager.GenericBuildConfiguration";
GenericBuildConfiguration::GenericBuildConfiguration(Target *parent) GenericBuildConfiguration::GenericBuildConfiguration(Target *parent)
: BuildConfiguration(parent, Core::Id(GENERIC_BC_ID)) : BuildConfiguration(parent, Core::Id(GENERIC_BC_ID))
{ } {
updateCacheAndEmitEnvironmentChanged();
}
GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, Core::Id id) GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, Core::Id id)
: BuildConfiguration(parent, id) : BuildConfiguration(parent, id)
{ } {
updateCacheAndEmitEnvironmentChanged();
}
GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, GenericBuildConfiguration *source) : GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, GenericBuildConfiguration *source) :
BuildConfiguration(parent, source) BuildConfiguration(parent, source)
{ {
cloneSteps(source); cloneSteps(source);
updateCacheAndEmitEnvironmentChanged();
} }
NamedWidget *GenericBuildConfiguration::createConfigWidget() NamedWidget *GenericBuildConfiguration::createConfigWidget()

View File

@@ -339,10 +339,14 @@ bool BuildConfiguration::isActive() const
* to provide hints about which compiler to use. * to provide hints about which compiler to use.
*/ */
void BuildConfiguration::prependCompilerPathToEnvironment(Utils::Environment &env) const void BuildConfiguration::prependCompilerPathToEnvironment(Utils::Environment &env) const
{
return prependCompilerPathToEnvironment(target()->kit(), env);
}
void BuildConfiguration::prependCompilerPathToEnvironment(Kit *k, Utils::Environment &env)
{ {
const ToolChain *tc const ToolChain *tc
= ToolChainKitInformation::toolChain(target()->kit(), = ToolChainKitInformation::toolChain(k, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
ProjectExplorer::Constants::CXX_LANGUAGE_ID);
if (!tc) if (!tc)
return; return;

View File

@@ -91,6 +91,7 @@ public:
bool isActive() const override; bool isActive() const override;
void prependCompilerPathToEnvironment(Utils::Environment &env) const; void prependCompilerPathToEnvironment(Utils::Environment &env) const;
static void prependCompilerPathToEnvironment(Kit *k, Utils::Environment &env);
signals: signals:
void environmentChanged(); void environmentChanged();

View File

@@ -29,6 +29,7 @@
#include <windows.h> #include <windows.h>
#include <QCoreApplication> #include <QCoreApplication>
#include <QMap>
#include <QTime> #include <QTime>
/*! /*!

View File

@@ -202,7 +202,7 @@ FormatToken Scanner::readIdentifier()
// List of python built-in functions and objects // List of python built-in functions and objects
static const QSet<QString> builtins = { static const QSet<QString> builtins = {
"range", "xrange", "int", "float", "long", "hex", "oct" "chr", "ord", "range", "xrange", "int", "float", "long", "hex", "oct", "chr", "ord",
"len", "abs", "None", "True", "False" "len", "abs", "None", "True", "False"
}; };

View File

@@ -98,6 +98,8 @@ BuildConfiguration *AndroidQmakeBuildConfigurationFactory::restore(Target *paren
AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target) AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target)
: QmakeBuildConfiguration(target) : QmakeBuildConfiguration(target)
{ {
updateCacheAndEmitEnvironmentChanged();
auto updateGrade = [this] { AndroidManager::updateGradleProperties(BuildConfiguration::target()); }; auto updateGrade = [this] { AndroidManager::updateGradleProperties(BuildConfiguration::target()); };
auto project = qobject_cast<QmakeProject *>(target->project()); auto project = qobject_cast<QmakeProject *>(target->project());
@@ -110,11 +112,13 @@ AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target)
AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target, AndroidQmakeBuildConfiguration *source) AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target, AndroidQmakeBuildConfiguration *source)
: QmakeBuildConfiguration(target, source) : QmakeBuildConfiguration(target, source)
{ {
updateCacheAndEmitEnvironmentChanged();
} }
AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target, Core::Id id) AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target, Core::Id id)
: QmakeBuildConfiguration(target, id) : QmakeBuildConfiguration(target, id)
{ {
updateCacheAndEmitEnvironmentChanged();
} }
void AndroidQmakeBuildConfiguration::addToEnvironment(Utils::Environment &env) const void AndroidQmakeBuildConfiguration::addToEnvironment(Utils::Environment &env) const

View File

@@ -152,6 +152,8 @@ bool QmakeBuildConfiguration::fromMap(const QVariantMap &map)
void QmakeBuildConfiguration::ctor() void QmakeBuildConfiguration::ctor()
{ {
updateCacheAndEmitEnvironmentChanged();
connect(this, &BuildConfiguration::environmentChanged, connect(this, &BuildConfiguration::environmentChanged,
this, &QmakeBuildConfiguration::emitProFileEvaluateNeeded); this, &QmakeBuildConfiguration::emitProFileEvaluateNeeded);
connect(target(), &Target::kitChanged, connect(target(), &Target::kitChanged,
@@ -758,9 +760,14 @@ BuildConfiguration::BuildType QmakeBuildConfiguration::buildType() const
void QmakeBuildConfiguration::addToEnvironment(Environment &env) const void QmakeBuildConfiguration::addToEnvironment(Environment &env) const
{ {
prependCompilerPathToEnvironment(env); setupBuildEnvironment(target()->kit(), env);
const BaseQtVersion *qt = QtKitInformation::qtVersion(target()->kit()); }
if (qt)
void QmakeBuildConfiguration::setupBuildEnvironment(Kit *k, Environment &env)
{
prependCompilerPathToEnvironment(k, env);
const BaseQtVersion *qt = QtKitInformation::qtVersion(k);
if (qt && !qt->binPath().isEmpty())
env.prependOrSetPath(qt->binPath().toString()); env.prependOrSetPath(qt->binPath().toString());
} }

View File

@@ -100,6 +100,7 @@ public:
BuildType buildType() const override; BuildType buildType() const override;
void addToEnvironment(Utils::Environment &env) const override; void addToEnvironment(Utils::Environment &env) const override;
static void setupBuildEnvironment(ProjectExplorer::Kit *k, Utils::Environment &env);
void emitProFileEvaluateNeeded(); void emitProFileEvaluateNeeded();

View File

@@ -665,6 +665,10 @@ QtSupport::ProFileReader *QmakeProject::createProFileReader(const QmakeProFile *
else else
qmakeArgs = bc->configCommandLineArguments(); qmakeArgs = bc->configCommandLineArguments();
} }
} else {
// Set up a better default environment without using a build configuration:
QmakeBuildConfiguration::setupBuildEnvironment(k, env);
k->addToEnvironment(env);
} }
QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k); QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k);

View File

@@ -5457,7 +5457,7 @@ void tst_Dumpers::dumper_data()
+ Check("s.x", "2", "unsigned int : 3") % NoCdbEngine + Check("s.x", "2", "unsigned int : 3") % NoCdbEngine
+ Check("s.y", "3", "unsigned int : 4") % NoCdbEngine + Check("s.y", "3", "unsigned int : 4") % NoCdbEngine
+ Check("s.z", "39", "unsigned int : 18") % NoCdbEngine + Check("s.z", "39", "unsigned int : 18") % NoCdbEngine
+ Check("s.e", "V2 (1)", "E : 3") % NoCdbEngine + Check("s.e", "V2 (1)", "E : 3") % GdbEngine
+ Check("s.x", "2", "unsigned int") % CdbEngine + Check("s.x", "2", "unsigned int") % CdbEngine
+ Check("s.y", "3", "unsigned int") % CdbEngine + Check("s.y", "3", "unsigned int") % CdbEngine
+ Check("s.z", "39", "unsigned int") % CdbEngine + Check("s.z", "39", "unsigned int") % CdbEngine