summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools')
-rw-r--r--src/plugins/cpptools/cppbaseprojectpartbuilder.cpp10
-rw-r--r--src/plugins/cpptools/cppmodelmanager.cpp1
-rw-r--r--src/plugins/cpptools/cppmodelmanager_test.cpp17
-rw-r--r--src/plugins/cpptools/projectpart.cpp2
-rw-r--r--src/plugins/cpptools/projectpart.h2
5 files changed, 8 insertions, 24 deletions
diff --git a/src/plugins/cpptools/cppbaseprojectpartbuilder.cpp b/src/plugins/cpptools/cppbaseprojectpartbuilder.cpp
index 021b12b4c2..06d7c678d5 100644
--- a/src/plugins/cpptools/cppbaseprojectpartbuilder.cpp
+++ b/src/plugins/cpptools/cppbaseprojectpartbuilder.cpp
@@ -130,28 +130,28 @@ QList<Core::Id> BaseProjectPartBuilder::createProjectPartsForFiles(const QString
if (cat.hasCSources()) {
createProjectPart(cat.cSources(),
cat.partName("C"),
- ProjectPart::C11,
+ ProjectPart::LatestCVersion,
ProjectPart::NoExtensions);
}
if (cat.hasObjcSources()) {
createProjectPart(cat.objcSources(),
cat.partName("Obj-C"),
- ProjectPart::C11,
+ ProjectPart::LatestCVersion,
ProjectPart::ObjectiveCExtensions);
}
if (cat.hasCxxSources()) {
createProjectPart(cat.cxxSources(),
cat.partName("C++"),
- ProjectPart::CXX11,
+ ProjectPart::LatestCxxVersion,
ProjectPart::NoExtensions);
}
if (cat.hasObjcxxSources()) {
createProjectPart(cat.objcxxSources(),
cat.partName("Obj-C++"),
- ProjectPart::CXX11,
+ ProjectPart::LatestCxxVersion,
ProjectPart::ObjectiveCExtensions);
}
}
@@ -295,7 +295,7 @@ ToolChainInterfacePtr BaseProjectPartBuilder::selectToolChain(
{
ToolChainInterfacePtr toolChain = nullptr;
- if (languageVersion < ProjectPart::CXX98)
+ if (languageVersion <= ProjectPart::LatestCVersion)
toolChain = m_project->toolChain(ProjectExplorer::ToolChain::Language::C, m_cFlags);
if (!toolChain) // Use Cxx toolchain for C projects without C compiler in kit and for C++ code
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index b2327f294e..4334af3b2e 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -949,7 +949,6 @@ ProjectPart::Ptr CppModelManager::fallbackProjectPart()
part->projectDefines = definedMacros();
part->headerPaths = headerPaths();
- part->languageVersion = ProjectPart::CXX14;
// Do not activate ObjectiveCExtensions since this will lead to the
// "objective-c++" language option for a project-less *.cpp file.
diff --git a/src/plugins/cpptools/cppmodelmanager_test.cpp b/src/plugins/cpptools/cppmodelmanager_test.cpp
index 6c1bf16c5b..622344218d 100644
--- a/src/plugins/cpptools/cppmodelmanager_test.cpp
+++ b/src/plugins/cpptools/cppmodelmanager_test.cpp
@@ -108,7 +108,6 @@ public:
projectInfo = ProjectInfo(project);
ProjectPart::Ptr part(new ProjectPart);
- part->languageVersion = ProjectPart::CXX14;
part->qtVersion = ProjectPart::Qt5;
foreach (const QString &file, projectFiles) {
ProjectFile projectFile(file, ProjectFile::classify(file));
@@ -187,7 +186,6 @@ void CppToolsPlugin::test_modelmanager_paths_are_clean()
typedef ProjectPartHeaderPath HeaderPath;
ProjectPart::Ptr part(new ProjectPart);
- part->languageVersion = ProjectPart::CXX14;
part->qtVersion = ProjectPart::Qt5;
part->projectDefines = QByteArray("#define OH_BEHAVE -1\n");
part->headerPaths = { HeaderPath(testDataDir.includeDir(false), HeaderPath::IncludePath),
@@ -220,7 +218,6 @@ void CppToolsPlugin::test_modelmanager_framework_headers()
typedef ProjectPartHeaderPath HeaderPath;
ProjectPart::Ptr part(new ProjectPart);
- part->languageVersion = ProjectPart::CXX14;
part->qtVersion = ProjectPart::Qt5;
part->projectDefines = QByteArray("#define OH_BEHAVE -1\n");
part->headerPaths = { HeaderPath(testDataDir.includeDir(false), HeaderPath::IncludePath),
@@ -270,7 +267,6 @@ void CppToolsPlugin::test_modelmanager_refresh_also_includes_of_project_files()
typedef ProjectPartHeaderPath HeaderPath;
ProjectPart::Ptr part(new ProjectPart);
- part->languageVersion = ProjectPart::CXX14;
part->qtVersion = ProjectPart::Qt5;
part->projectDefines = QByteArray("#define OH_BEHAVE -1\n");
part->headerPaths = { HeaderPath(testDataDir.includeDir(false), HeaderPath::IncludePath) };
@@ -327,7 +323,6 @@ void CppToolsPlugin::test_modelmanager_refresh_several_times()
ProjectInfo pi = ProjectInfo(project);
ProjectPart::Ptr part(new ProjectPart);
- part->languageVersion = ProjectPart::CXX14;
part->qtVersion = ProjectPart::Qt5;
part->files.append(ProjectFile(testHeader1, ProjectFile::CXXHeader));
part->files.append(ProjectFile(testHeader2, ProjectFile::CXXHeader));
@@ -346,7 +341,6 @@ void CppToolsPlugin::test_modelmanager_refresh_several_times()
// Simulate project configuration change by having different defines each time.
defines += "\n#define ANOTHER_DEFINE";
part->projectDefines = defines;
- part->languageVersion = ProjectPart::CXX14;
part->qtVersion = ProjectPart::Qt5;
part->files.append(ProjectFile(testHeader1, ProjectFile::CXXHeader));
part->files.append(ProjectFile(testHeader2, ProjectFile::CXXHeader));
@@ -391,7 +385,6 @@ void CppToolsPlugin::test_modelmanager_refresh_test_for_changes()
ProjectInfo pi = ProjectInfo(project);
ProjectPart::Ptr part(new ProjectPart);
- part->languageVersion = ProjectPart::CXX14;
part->qtVersion = ProjectPart::Qt5;
part->files.append(ProjectFile(testCpp, ProjectFile::CXXSource));
pi.appendProjectPart(part);
@@ -427,7 +420,6 @@ void CppToolsPlugin::test_modelmanager_refresh_added_and_purge_removed()
ProjectInfo pi = ProjectInfo(project);
ProjectPart::Ptr part(new ProjectPart);
- part->languageVersion = ProjectPart::CXX14;
part->qtVersion = ProjectPart::Qt5;
part->files.append(ProjectFile(testCpp, ProjectFile::CXXSource));
part->files.append(ProjectFile(testHeader1, ProjectFile::CXXHeader));
@@ -449,7 +441,6 @@ void CppToolsPlugin::test_modelmanager_refresh_added_and_purge_removed()
// Now add testHeader2 and remove testHeader1
pi = ProjectInfo(project);
ProjectPart::Ptr newPart(new ProjectPart);
- newPart->languageVersion = ProjectPart::CXX14;
newPart->qtVersion = ProjectPart::Qt5;
newPart->files.append(ProjectFile(testCpp, ProjectFile::CXXSource));
newPart->files.append(ProjectFile(testHeader2, ProjectFile::CXXHeader));
@@ -489,7 +480,6 @@ void CppToolsPlugin::test_modelmanager_refresh_timeStampModified_if_sourcefiles_
ProjectInfo pi = ProjectInfo(project);
ProjectPart::Ptr part(new ProjectPart);
- part->languageVersion = ProjectPart::CXX14;
part->qtVersion = ProjectPart::Qt5;
foreach (const QString &file, initialProjectFiles)
part->files.append(ProjectFile(file, ProjectFile::CXXSource));
@@ -774,7 +764,6 @@ void CppToolsPlugin::test_modelmanager_defines_per_project()
part1->projectFile = QLatin1String("project1.projectfile");
part1->files.append(ProjectFile(main1File, ProjectFile::CXXSource));
part1->files.append(ProjectFile(header, ProjectFile::CXXHeader));
- part1->languageVersion = ProjectPart::CXX11;
part1->qtVersion = ProjectPart::NoQt;
part1->projectDefines = QByteArray("#define SUB1\n");
part1->headerPaths = { HeaderPath(testDataDirectory.includeDir(false), HeaderPath::IncludePath) };
@@ -783,7 +772,6 @@ void CppToolsPlugin::test_modelmanager_defines_per_project()
part2->projectFile = QLatin1String("project1.projectfile");
part2->files.append(ProjectFile(main2File, ProjectFile::CXXSource));
part2->files.append(ProjectFile(header, ProjectFile::CXXHeader));
- part2->languageVersion = ProjectPart::CXX11;
part2->qtVersion = ProjectPart::NoQt;
part2->projectDefines = QByteArray("#define SUB2\n");
part2->headerPaths = { HeaderPath(testDataDirectory.includeDir(false), HeaderPath::IncludePath) };
@@ -842,7 +830,6 @@ void CppToolsPlugin::test_modelmanager_precompiled_headers()
part1->projectFile = QLatin1String("project1.projectfile");
part1->files.append(ProjectFile(main1File, ProjectFile::CXXSource));
part1->files.append(ProjectFile(header, ProjectFile::CXXHeader));
- part1->languageVersion = ProjectPart::CXX11;
part1->qtVersion = ProjectPart::NoQt;
part1->precompiledHeaders.append(pch1File);
part1->headerPaths = { HeaderPath(testDataDirectory.includeDir(false), HeaderPath::IncludePath) };
@@ -851,7 +838,6 @@ void CppToolsPlugin::test_modelmanager_precompiled_headers()
part2->projectFile = QLatin1String("project2.projectfile");
part2->files.append(ProjectFile(main2File, ProjectFile::CXXSource));
part2->files.append(ProjectFile(header, ProjectFile::CXXHeader));
- part2->languageVersion = ProjectPart::CXX11;
part2->qtVersion = ProjectPart::NoQt;
part2->precompiledHeaders.append(pch2File);
part2->headerPaths = { HeaderPath(testDataDirectory.includeDir(false), HeaderPath::IncludePath) };
@@ -926,14 +912,12 @@ void CppToolsPlugin::test_modelmanager_defines_per_editor()
ProjectPart::Ptr part1(new ProjectPart);
part1->files.append(ProjectFile(main1File, ProjectFile::CXXSource));
part1->files.append(ProjectFile(header, ProjectFile::CXXHeader));
- part1->languageVersion = ProjectPart::CXX11;
part1->qtVersion = ProjectPart::NoQt;
part1->headerPaths = { HeaderPath(testDataDirectory.includeDir(false), HeaderPath::IncludePath) };
ProjectPart::Ptr part2(new ProjectPart);
part2->files.append(ProjectFile(main2File, ProjectFile::CXXSource));
part2->files.append(ProjectFile(header, ProjectFile::CXXHeader));
- part2->languageVersion = ProjectPart::CXX11;
part2->qtVersion = ProjectPart::NoQt;
part2->headerPaths = { HeaderPath(testDataDirectory.includeDir(false), HeaderPath::IncludePath) };
@@ -1014,7 +998,6 @@ void CppToolsPlugin::test_modelmanager_updateEditorsAfterProjectUpdate()
part->project = project;
part->files.append(ProjectFile(fileA, ProjectFile::CXXSource));
part->files.append(ProjectFile(fileB, ProjectFile::CXXSource));
- part->languageVersion = ProjectPart::CXX11;
part->qtVersion = ProjectPart::NoQt;
ProjectInfo pi = ProjectInfo(project);
diff --git a/src/plugins/cpptools/projectpart.cpp b/src/plugins/cpptools/projectpart.cpp
index 645d3bba5a..48dbf1c18a 100644
--- a/src/plugins/cpptools/projectpart.cpp
+++ b/src/plugins/cpptools/projectpart.cpp
@@ -34,7 +34,7 @@ ProjectPart::ProjectPart()
: project(0)
, toolChainWordWidth(WordWidth32Bit)
, isMsvc2015Toolchain(false)
- , languageVersion(CXX14)
+ , languageVersion(LatestCxxVersion)
, languageExtensions(NoExtensions)
, qtVersion(UnknownQt)
, warningFlags(ProjectExplorer::WarningFlags::Default)
diff --git a/src/plugins/cpptools/projectpart.h b/src/plugins/cpptools/projectpart.h
index 6173cb9b69..c75d494adc 100644
--- a/src/plugins/cpptools/projectpart.h
+++ b/src/plugins/cpptools/projectpart.h
@@ -54,11 +54,13 @@ public: // Types
C89,
C99,
C11,
+ LatestCVersion = C11,
CXX98,
CXX03,
CXX11,
CXX14,
CXX17,
+ LatestCxxVersion = CXX17,
};
enum LanguageExtension {