diff options
author | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-05-03 11:08:54 +0200 |
---|---|---|
committer | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-05-03 10:04:08 +0000 |
commit | 02f50d52869b3ffe6a8dddcc110c5601b1da4025 (patch) | |
tree | d5edca40e818e4ff05696d9b52d0781434b5bec5 | |
parent | 0a7d24c730bca165f95e85d94a2c1d13fa586a65 (diff) |
CppTools: Rollback some changes in CompilerOptionsBuilder
Make it safer in the 4.6 release.
Change-Id: I75857ecc08af8febe40fd75dc94d8ab986d4b768
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
-rw-r--r-- | src/plugins/cpptools/compileroptionsbuilder.cpp | 14 | ||||
-rw-r--r-- | src/plugins/cpptools/compileroptionsbuilder.h | 1 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 83bc89ab49..4059067310 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -47,7 +47,6 @@ CompilerOptionsBuilder::CompilerOptionsBuilder(const ProjectPart &projectPart, : m_projectPart(projectPart) , m_clangVersion(clangVersion) , m_clangResourceDirectory(clangResourceDirectory) - , m_languageVersion(m_projectPart.languageVersion) { } @@ -55,8 +54,10 @@ QStringList CompilerOptionsBuilder::build(CppTools::ProjectFile::Kind fileKind, { m_options.clear(); - if (fileKind == ProjectFile::CHeader || fileKind == ProjectFile::CSource) - QTC_ASSERT(m_languageVersion <= ProjectPart::LatestCVersion, return QStringList();); + if (fileKind == ProjectFile::CHeader || fileKind == ProjectFile::CSource) { + QTC_ASSERT(m_projectPart.languageVersion <= ProjectPart::LatestCVersion, + return QStringList();); + } addWordWidth(); addTargetTriple(); @@ -123,7 +124,7 @@ void CompilerOptionsBuilder::addExtraCodeModelFlags() void CompilerOptionsBuilder::enableExceptions() { - if (m_languageVersion > ProjectPart::LatestCVersion) + if (m_projectPart.languageVersion > ProjectPart::LatestCVersion) add(QLatin1String("-fcxx-exceptions")); add(QLatin1String("-fexceptions")); } @@ -293,7 +294,7 @@ void CompilerOptionsBuilder::addOptionsForLanguage(bool checkForBorlandExtension const ProjectPart::LanguageExtensions languageExtensions = m_projectPart.languageExtensions; const bool gnuExtensions = languageExtensions & ProjectPart::GnuExtensions; - switch (m_languageVersion) { + switch (m_projectPart.languageVersion) { case ProjectPart::C89: opts << (gnuExtensions ? QLatin1String("-std=gnu89") : QLatin1String("-std=c89")); break; @@ -478,7 +479,8 @@ QString CompilerOptionsBuilder::includeOption() const bool CompilerOptionsBuilder::excludeDefineDirective(const ProjectExplorer::Macro ¯o) const { - if (macro.key == "__cplusplus" && m_languageVersion <= ProjectPart::LatestCVersion) + // TODO: Remove in QtCreator 4.7 + if (macro.key == "__cplusplus") return true; // Ignore for all compiler toolchains since LLVM has it's own implementation for diff --git a/src/plugins/cpptools/compileroptionsbuilder.h b/src/plugins/cpptools/compileroptionsbuilder.h index 6a0db7cb2b..2f860e510b 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.h +++ b/src/plugins/cpptools/compileroptionsbuilder.h @@ -96,7 +96,6 @@ private: QStringList m_options; QString m_clangVersion; QString m_clangResourceDirectory; - ProjectPart::LanguageVersion m_languageVersion; }; template<class T> |