Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/4.3' into 4.4
Browse files Browse the repository at this point in the history
 Conflicts:
	qtcreator.qbs

Change-Id: Ic5e268326d93172208de291d31a716e437b9cedf
  • Loading branch information
e4z9 committed Jul 10, 2017
2 parents 491ab37 + 4196534 commit 345ea03
Show file tree
Hide file tree
Showing 9 changed files with 29 additions and 22 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The standalone binary packages support the following platforms:

* Windows 7 or later
* (K)Ubuntu Linux 16.04 (64-bit) or later
* macOS 10.8 or later
* macOS 10.10 or later

## Compiling Qt Creator

Expand Down
2 changes: 1 addition & 1 deletion doc/src/overview/creator-supported-platforms.qdoc
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@

\endlist

\li \macos 10.8 or later with the following:
\li \macos 10.10 or later with the following:

\list

Expand Down
2 changes: 2 additions & 0 deletions qbs/imports/QtcProduct.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Product {
version: qtc.qtcreator_version
property bool install: true
property string installDir
property string installSourceBase
property stringList installTags: type
property string fileName: FileInfo.fileName(sourceDirectory) + ".qbs"
property bool useNonGuiPchFile: false
Expand Down Expand Up @@ -37,6 +38,7 @@ Product {
fileTagsFilter: installTags
qbs.install: install
qbs.installDir: installDir
qbs.installSourceBase: installSourceBase
}

Group {
Expand Down
2 changes: 1 addition & 1 deletion qtcreator.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import qbs.FileInfo

Project {
name: "Qt Creator"
minimumQbsVersion: "1.6.0"
minimumQbsVersion: "1.7.0"
property string minimumMacosVersion: "10.8"
property bool withAutotests: qbs.buildVariant === "debug"
property path ide_source_tree: path
Expand Down
2 changes: 1 addition & 1 deletion src/app/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,6 @@
<key>CFBundleShortVersionString</key>
<string>@SHORT_VERSION@</string>
<key>LSMinimumSystemVersion</key>
<string>10.8</string>
<string>@MACOSX_DEPLOYMENT_TARGET@</string>
</dict>
</plist>
7 changes: 6 additions & 1 deletion src/app/app.pro
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,12 @@ win32 {
INSTALLS += icns
}
}
QMAKE_INFO_PLIST = Info.plist

infoplist = $$cat($$PWD/Info.plist, blob)
infoplist = $$replace(infoplist, @MACOSX_DEPLOYMENT_TARGET@, $$QMAKE_MACOSX_DEPLOYMENT_TARGET)
write_file($$OUT_PWD/Info.plist, infoplist)

QMAKE_INFO_PLIST = $$OUT_PWD/Info.plist
}

target.path = $$INSTALL_APP_PATH
Expand Down
11 changes: 3 additions & 8 deletions src/app/app.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ QtcProduct {
targetName: qtc.ide_app_target
version: qtc.qtcreator_version

installDir: qtc.ide_bin_path
installDir: bundle.isBundle ? qtc.ide_app_path : qtc.ide_bin_path
installTags: bundle.isBundle ? ["bundle.content"] : base
installSourceBase: bundle.isBundle ? buildDirectory : base
property bool qtcRunnable: true

cpp.rpaths: qbs.targetOS.contains("macos") ? ["@executable_path/../Frameworks"]
Expand Down Expand Up @@ -72,11 +74,4 @@ QtcProduct {
"../shared/qtlockedfile/qtlockedfile_win.cpp"
]
}

Group {
condition: qbs.targetOS.contains("macos")
fileTagsFilter: ["aggregate_infoplist", "pkginfo", "compiled_assetcatalog"]
qbs.install: true
qbs.installSourceBase: product.buildDirectory
}
}
20 changes: 12 additions & 8 deletions src/libs/cplusplus/LookupContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -952,7 +952,7 @@ ClassOrNamespace *ClassOrNamespace::lookupType_helper(const Name *name,
return this;
}

if (ClassOrNamespace *e = nestedType(name, origin))
if (ClassOrNamespace *e = nestedType(name, processed, origin))
return e;

if (_templateId) {
Expand Down Expand Up @@ -1074,7 +1074,9 @@ ClassOrNamespace *ClassOrNamespace::findOrCreateNestedAnonymousType(
}
}

ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name, ClassOrNamespace *origin)
ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name,
QSet<ClassOrNamespace *> *processed,
ClassOrNamespace *origin)
{
Q_ASSERT(name != 0);
Q_ASSERT(name->isNameId() || name->isTemplateNameId() || name->isAnonymousNameId());
Expand Down Expand Up @@ -1184,11 +1186,11 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name, ClassOrNamespac
instantiation->_name = templId;
instantiation->_templateId = templId;

QSet<ClassOrNamespace *> processed;
QSet<ClassOrNamespace *> otherProcessed;
while (!origin->_symbols.isEmpty() && origin->_symbols[0]->isBlock()) {
if (processed.contains(origin))
if (otherProcessed.contains(origin))
break;
processed.insert(origin);
otherProcessed.insert(origin);
origin = origin->parent();
}

Expand Down Expand Up @@ -1310,7 +1312,7 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name, ClassOrNamespac
// Another template that uses the dependent name.
// Ex.: template <class T> class A : public B<T> {};
if (baseTemplId->identifier() != templId->identifier())
baseBinding = nestedType(baseName, origin);
baseBinding = nestedType(baseName, processed, origin);
} else if (const QualifiedNameId *qBaseName = baseName->asQualifiedNameId()) {
// Qualified names in general.
// Ex.: template <class T> class A : public B<T>::Type {};
Expand Down Expand Up @@ -1361,7 +1363,8 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name, ClassOrNamespac
}

if (binding) {
ClassOrNamespace * baseBinding = binding->lookupType(baseName);
ClassOrNamespace * baseBinding
= binding->lookupType_helper(baseName, processed, true, this);
if (baseBinding && !knownUsings.contains(baseBinding))
reference->addUsing(baseBinding);
}
Expand Down Expand Up @@ -1518,7 +1521,8 @@ ClassOrNamespace *ClassOrNamespace::findOrCreateType(const Name *name, ClassOrNa
return findOrCreateType(q->base(), origin)->findOrCreateType(q->name(), origin, clazz);

} else if (name->isNameId() || name->isTemplateNameId() || name->isAnonymousNameId()) {
ClassOrNamespace *e = nestedType(name, origin);
QSet<ClassOrNamespace *> processed;
ClassOrNamespace *e = nestedType(name, &processed, origin);

if (! e) {
e = _factory->allocClassOrNamespace(this);
Expand Down
3 changes: 2 additions & 1 deletion src/libs/cplusplus/LookupContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,8 @@ class CPLUSPLUS_EXPORT ClassOrNamespace
ClassOrNamespace *findBlock_helper(Block *block, QSet<ClassOrNamespace *> *processed,
bool searchInEnclosingScope);

ClassOrNamespace *nestedType(const Name *name, ClassOrNamespace *origin);
ClassOrNamespace *nestedType(const Name *name, QSet<ClassOrNamespace *> *processed,
ClassOrNamespace *origin);

void instantiateNestedClasses(ClassOrNamespace *enclosingTemplateClass,
Clone &cloner,
Expand Down

0 comments on commit 345ea03

Please sign in to comment.