diff options
author | Eike Ziller <eike.ziller@qt.io> | 2018-05-14 09:44:43 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2018-05-14 09:44:43 +0200 |
commit | 2278ebed1e0d290861a5616f4238eeec68607443 (patch) | |
tree | e1e475b97c1cbe461c38a502c23afb8c9c49b2b1 /src/plugins/cpptools/compileroptionsbuilder.cpp | |
parent | b67db8bc221a9b2a413cf9748ab0239a17ccb683 (diff) | |
parent | 3cfc715d7d33b724ad896c540af4a914d922e9bc (diff) | |
download | qt-creator-2278ebed1e0d290861a5616f4238eeec68607443.tar.gz |
Merge remote-tracking branch 'origin/4.6' into 4.7
Conflicts:
qbs/modules/qtc/qtc.qbs
qtcreator.pri
src/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp
Change-Id: I873a2fa112321225e7b478739fc017b01d24ce18
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.cpp')
-rw-r--r-- | src/plugins/cpptools/compileroptionsbuilder.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 57f937fb18..d6921b07ff 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -53,6 +53,11 @@ QStringList CompilerOptionsBuilder::build(CppTools::ProjectFile::Kind fileKind, { m_options.clear(); + if (fileKind == ProjectFile::CHeader || fileKind == ProjectFile::CSource) { + QTC_ASSERT(m_projectPart.languageVersion <= ProjectPart::LatestCVersion, + return QStringList();); + } + addWordWidth(); addTargetTriple(); addExtraCodeModelFlags(); @@ -118,7 +123,8 @@ void CompilerOptionsBuilder::addExtraCodeModelFlags() void CompilerOptionsBuilder::enableExceptions() { - add(QLatin1String("-fcxx-exceptions")); + if (m_projectPart.languageVersion > ProjectPart::LatestCVersion) + add(QLatin1String("-fcxx-exceptions")); add(QLatin1String("-fexceptions")); } @@ -286,6 +292,7 @@ void CompilerOptionsBuilder::addOptionsForLanguage(bool checkForBorlandExtension QStringList opts; const ProjectPart::LanguageExtensions languageExtensions = m_projectPart.languageExtensions; const bool gnuExtensions = languageExtensions & ProjectPart::GnuExtensions; + switch (m_projectPart.languageVersion) { case ProjectPart::C89: opts << (gnuExtensions ? QLatin1String("-std=gnu89") : QLatin1String("-std=c89")); @@ -471,8 +478,7 @@ QString CompilerOptionsBuilder::includeOption() const bool CompilerOptionsBuilder::excludeDefineDirective(const ProjectExplorer::Macro ¯o) const { - // This is a quick fix for QTCREATORBUG-11501. - // TODO: do a proper fix, see QTCREATORBUG-11709. + // TODO: Remove in QtCreator 4.7 if (macro.key == "__cplusplus") return true; |