summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/compileroptionsbuilder.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2018-05-14 09:44:43 +0200
committerEike Ziller <eike.ziller@qt.io>2018-05-14 09:44:43 +0200
commit2278ebed1e0d290861a5616f4238eeec68607443 (patch)
treee1e475b97c1cbe461c38a502c23afb8c9c49b2b1 /src/plugins/cpptools/compileroptionsbuilder.cpp
parentb67db8bc221a9b2a413cf9748ab0239a17ccb683 (diff)
parent3cfc715d7d33b724ad896c540af4a914d922e9bc (diff)
downloadqt-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.cpp12
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 &macro) 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;