summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/compileroptionsbuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.cpp')
-rw-r--r--src/plugins/cpptools/compileroptionsbuilder.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp
index 1dbcff2e03..4857e20c2e 100644
--- a/src/plugins/cpptools/compileroptionsbuilder.cpp
+++ b/src/plugins/cpptools/compileroptionsbuilder.cpp
@@ -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"),