forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.8'
Conflicts: src/plugins/debugger/debuggermainwindow.cpp src/plugins/qbsprojectmanager/qbsbuildstep.cpp src/plugins/winrt/winrtdevicefactory.cpp tests/unit/unittest/gtest-creator-printing.cpp tests/unit/unittest/gtest-creator-printing.h tests/unit/unittest/unittest.pro Change-Id: Ie9b80b87a8a4fa81baf72a2daa7919b21371c15e
This commit is contained in:
@@ -112,7 +112,7 @@ void ClangDiagnosticConfigsSelectionWidget::connectToClangDiagnosticConfigsDialo
|
||||
ClangDiagnosticConfigsWidget *widget = new ClangDiagnosticConfigsWidget(currentConfigId());
|
||||
widget->layout()->setMargin(0);
|
||||
QDialog dialog;
|
||||
dialog.setWindowTitle(widget->tr("Diagnostic Configurations"));
|
||||
dialog.setWindowTitle(ClangDiagnosticConfigsWidget::tr("Diagnostic Configurations"));
|
||||
dialog.setLayout(new QVBoxLayout);
|
||||
dialog.layout()->addWidget(widget);
|
||||
auto *buttonsBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
|
||||
|
||||
@@ -65,19 +65,17 @@ QStringList CompilerOptionsBuilder::build(CppTools::ProjectFile::Kind fileKind,
|
||||
return QStringList(););
|
||||
}
|
||||
|
||||
if (fileKind == ProjectFile::CXXHeader || fileKind == ProjectFile::CXXSource) {
|
||||
QTC_ASSERT(m_projectPart.languageVersion > ProjectExplorer::LanguageVersion::LatestC,
|
||||
return QStringList(););
|
||||
}
|
||||
|
||||
add("-c");
|
||||
|
||||
addWordWidth();
|
||||
addTargetTriple();
|
||||
addExtraCodeModelFlags();
|
||||
|
||||
if (m_projectPart.toolchainType
|
||||
== ProjectExplorer::Constants::COMPILATION_DATABASE_TOOLCHAIN_TYPEID) {
|
||||
addHeaderPathOptions();
|
||||
insertWrappedQtHeaders();
|
||||
return options();
|
||||
}
|
||||
|
||||
updateLanguageOption(fileKind);
|
||||
addOptionsForLanguage(/*checkForBorlandExtensions*/ true);
|
||||
enableExceptions();
|
||||
@@ -258,6 +256,9 @@ static int includeIndexForResourceDirectory(const QStringList &options, bool isM
|
||||
|
||||
void CompilerOptionsBuilder::insertWrappedQtHeaders()
|
||||
{
|
||||
if (m_skipBuiltInHeaderPathsAndDefines == SkipBuiltIn::Yes)
|
||||
return;
|
||||
|
||||
QStringList wrappedQtHeaders;
|
||||
addWrappedQtHeadersIncludePath(wrappedQtHeaders);
|
||||
|
||||
@@ -503,6 +504,7 @@ static QStringList languageFeatureMacros()
|
||||
QLatin1String("__cpp_exceptions"),
|
||||
QLatin1String("__cpp_fold_expressions"),
|
||||
QLatin1String("__cpp_generic_lambdas"),
|
||||
QLatin1String("__cpp_guaranteed_copy_elision"),
|
||||
QLatin1String("__cpp_hex_float"),
|
||||
QLatin1String("__cpp_if_constexpr"),
|
||||
QLatin1String("__cpp_inheriting_constructors"),
|
||||
@@ -514,6 +516,7 @@ static QStringList languageFeatureMacros()
|
||||
QLatin1String("__cpp_nested_namespace_definitions"),
|
||||
QLatin1String("__cpp_noexcept_function_type"),
|
||||
QLatin1String("__cpp_nontype_template_args"),
|
||||
QLatin1String("__cpp_nontype_template_parameter_auto"),
|
||||
QLatin1String("__cpp_nsdmi"),
|
||||
QLatin1String("__cpp_range_based_for"),
|
||||
QLatin1String("__cpp_raw_strings"),
|
||||
|
||||
@@ -70,6 +70,7 @@ void CppLocatorFilter::refresh(QFutureInterface<void> &future)
|
||||
QList<Core::LocatorFilterEntry> CppLocatorFilter::matchesFor(
|
||||
QFutureInterface<Core::LocatorFilterEntry> &future, const QString &entry)
|
||||
{
|
||||
QList<Core::LocatorFilterEntry> normalEntries;
|
||||
QList<Core::LocatorFilterEntry> goodEntries;
|
||||
QList<Core::LocatorFilterEntry> betterEntries;
|
||||
QList<Core::LocatorFilterEntry> bestEntries;
|
||||
@@ -91,9 +92,14 @@ QList<Core::LocatorFilterEntry> CppLocatorFilter::matchesFor(
|
||||
const QString symbolName = info->symbolName();
|
||||
QString matchString = hasColonColon ? info->scopedSymbolName() : symbolName;
|
||||
int matchOffset = hasColonColon ? matchString.size() - symbolName.size() : 0;
|
||||
if (type == IndexItem::Function)
|
||||
matchString += info->symbolType();
|
||||
QRegularExpressionMatch match = regexp.match(matchString);
|
||||
bool matchInParameterList = false;
|
||||
if (!match.hasMatch() && (type == IndexItem::Function)) {
|
||||
matchString += info->symbolType();
|
||||
match = regexp.match(matchString);
|
||||
matchInParameterList = true;
|
||||
}
|
||||
|
||||
if (match.hasMatch()) {
|
||||
Core::LocatorFilterEntry filterEntry = filterEntryFromIndexItem(info);
|
||||
|
||||
@@ -109,9 +115,11 @@ QList<Core::LocatorFilterEntry> CppLocatorFilter::matchesFor(
|
||||
start -= matchOffset;
|
||||
}
|
||||
|
||||
if (matchString.startsWith(entry, caseSensitivityForPrefix))
|
||||
if (matchInParameterList)
|
||||
normalEntries.append(filterEntry);
|
||||
else if (filterEntry.displayName.startsWith(entry, caseSensitivityForPrefix))
|
||||
bestEntries.append(filterEntry);
|
||||
else if (matchString.contains(entry, caseSensitivityForPrefix))
|
||||
else if (filterEntry.displayName.contains(entry, caseSensitivityForPrefix))
|
||||
betterEntries.append(filterEntry);
|
||||
else
|
||||
goodEntries.append(filterEntry);
|
||||
@@ -124,6 +132,8 @@ QList<Core::LocatorFilterEntry> CppLocatorFilter::matchesFor(
|
||||
return IndexItem::Recurse;
|
||||
});
|
||||
|
||||
if (normalEntries.size() < 1000)
|
||||
Utils::sort(normalEntries, Core::LocatorFilterEntry::compareLexigraphically);
|
||||
if (goodEntries.size() < 1000)
|
||||
Utils::sort(goodEntries, Core::LocatorFilterEntry::compareLexigraphically);
|
||||
if (betterEntries.size() < 1000)
|
||||
@@ -133,6 +143,7 @@ QList<Core::LocatorFilterEntry> CppLocatorFilter::matchesFor(
|
||||
|
||||
bestEntries += betterEntries;
|
||||
bestEntries += goodEntries;
|
||||
bestEntries += normalEntries;
|
||||
return bestEntries;
|
||||
}
|
||||
|
||||
|
||||
@@ -198,8 +198,9 @@ void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter_data()
|
||||
<< _("pos")
|
||||
<< (QList<ResultData>()
|
||||
<< ResultData(_("positiveNumber()"), testFileShort)
|
||||
<< ResultData(_("matchArgument(Pos)"), testFileShort)
|
||||
<< ResultData(_("somePositionWithin()"), testFileShort)
|
||||
<< ResultData(_("pointOfService()"), testFileShort)
|
||||
<< ResultData(_("matchArgument(Pos)"), testFileShort)
|
||||
);
|
||||
|
||||
QTest::newRow("CppFunctionsFilter-arguments")
|
||||
@@ -238,12 +239,14 @@ void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter_data()
|
||||
<< cppFunctionsFilter
|
||||
<< _("MyClass::func")
|
||||
<< (QList<ResultData>()
|
||||
<< ResultData(_("functionDefinedInClass(bool, int)"), _("MyClass (file1.cpp)"))
|
||||
<< ResultData(_("functionDefinedOutSideClass(char)"), _("MyClass (file1.cpp)"))
|
||||
<< ResultData(_("functionDefinedInClass(bool, int)"),
|
||||
_("MyClass (file1.cpp)"))
|
||||
<< ResultData(_("functionDefinedInClass(bool, int)"),
|
||||
_("MyNamespace::MyClass (file1.cpp)"))
|
||||
<< ResultData(_("functionDefinedInClass(bool, int)"),
|
||||
_("<anonymous namespace>::MyClass (file1.cpp)"))
|
||||
<< ResultData(_("functionDefinedOutSideClass(char)"),
|
||||
_("MyClass (file1.cpp)"))
|
||||
<< ResultData(_("functionDefinedOutSideClass(char)"),
|
||||
_("MyNamespace::MyClass (file1.cpp)"))
|
||||
<< ResultData(_("functionDefinedOutSideClass(char)"),
|
||||
@@ -276,12 +279,6 @@ void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter_data()
|
||||
<< cppLocatorFilter
|
||||
<< _("my")
|
||||
<< (QList<ResultData>()
|
||||
<< ResultData(_("<anonymous namespace>::MyClass"), testFileShort)
|
||||
<< ResultData(_("<anonymous namespace>::MyClass::MyClass"), _("()"))
|
||||
<< ResultData(_("<anonymous namespace>::MyClass::functionDefinedOutSideClass"),
|
||||
_("(char)"))
|
||||
<< ResultData(_("<anonymous namespace>::MyEnum"), testFileShort)
|
||||
<< ResultData(_("<anonymous namespace>::myFunction"), _("(bool, int)"))
|
||||
<< ResultData(_("MyClass"), testFileShort)
|
||||
<< ResultData(_("MyClass::MyClass"), _("()"))
|
||||
<< ResultData(_("MyClass::functionDefinedOutSideClass"), _("(char)"))
|
||||
@@ -295,6 +292,12 @@ void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter_data()
|
||||
<< ResultData(_("MyNamespace::MyEnum"), testFileShort)
|
||||
<< ResultData(_("MyNamespace::myFunction"), _("(bool, int)"))
|
||||
<< ResultData(_("myFunction"), _("(bool, int)"))
|
||||
<< ResultData(_("<anonymous namespace>::MyClass"), testFileShort)
|
||||
<< ResultData(_("<anonymous namespace>::MyClass::MyClass"), _("()"))
|
||||
<< ResultData(_("<anonymous namespace>::MyClass::functionDefinedOutSideClass"),
|
||||
_("(char)"))
|
||||
<< ResultData(_("<anonymous namespace>::MyEnum"), testFileShort)
|
||||
<< ResultData(_("<anonymous namespace>::myFunction"), _("(bool, int)"))
|
||||
);
|
||||
|
||||
QTest::newRow("CppClassesFilter-ObjC")
|
||||
@@ -328,6 +331,7 @@ void CppToolsPlugin::test_cpplocatorfilters_CppCurrentDocumentFilter()
|
||||
<< ResultData(_("int myVariable"), _(""))
|
||||
<< ResultData(_("myFunction(bool, int)"), _(""))
|
||||
<< ResultData(_("Pos"), _(""))
|
||||
<< ResultData(_("somePositionWithin()"), _(""))
|
||||
<< ResultData(_("pointOfService()"), _(""))
|
||||
<< ResultData(_("matchArgument(Pos)"), _(""))
|
||||
<< ResultData(_("positiveNumber()"), _(""))
|
||||
|
||||
@@ -165,9 +165,6 @@ ProjectPart::Ptr ProjectInfoGenerator::createProjectPart(
|
||||
part->warningFlags = flags.warningFlags;
|
||||
part->languageExtensions = flags.languageExtensions;
|
||||
|
||||
if (part->toolchainType == ProjectExplorer::Constants::COMPILATION_DATABASE_TOOLCHAIN_TYPEID)
|
||||
part->extraCodeModelFlags = flags.commandLineFlags;
|
||||
|
||||
// Toolchain macros and language version
|
||||
if (tcInfo.macroInspectionRunner) {
|
||||
auto macroInspectionReport = tcInfo.macroInspectionRunner(flags.commandLineFlags);
|
||||
|
||||
Reference in New Issue
Block a user