summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2016-10-17 15:23:55 +0200
committerNikolai Kosjar <nikolai.kosjar@qt.io>2016-10-17 14:29:49 +0000
commitcaf721430b1a02be6f76fb5d98d44ecb2e5cdab9 (patch)
tree09c02eb1290de1722bd6c637e75121dffd2e74b2
parent02a39c013f2c4c5a82ac38c32d565c5426fcc450 (diff)
downloadqt-creator-caf721430b1a02be6f76fb5d98d44ecb2e5cdab9.tar.gz
CppTools: Avoid "defineLine" in CompilerOptionsBuilder API
...because it might suggest to append a new line. Change-Id: I8d5701a1d20c9d94ee528383227a6e3b446b4ff2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/plugins/cpptools/compileroptionsbuilder.cpp20
-rw-r--r--src/plugins/cpptools/compileroptionsbuilder.h6
2 files changed, 14 insertions, 12 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp
index c7c1674454..6f2991fea0 100644
--- a/src/plugins/cpptools/compileroptionsbuilder.cpp
+++ b/src/plugins/cpptools/compileroptionsbuilder.cpp
@@ -82,9 +82,9 @@ QByteArray Macro::toDefineOption(const QByteArray &option) const
return result;
}
-void CompilerOptionsBuilder::addDefine(const QByteArray &defineLine)
+void CompilerOptionsBuilder::addDefine(const QByteArray &defineDirective)
{
- m_options.append(defineLineToDefineOption(defineLine));
+ m_options.append(defineDirectiveToDefineOption(defineDirective));
}
void CompilerOptionsBuilder::addTargetTriple()
@@ -144,10 +144,10 @@ void CompilerOptionsBuilder::addDefines(const QByteArray &defineDirectives)
QStringList result;
foreach (QByteArray def, defineDirectives.split('\n')) {
- if (def.isEmpty() || excludeDefineLine(def))
+ if (def.isEmpty() || excludeDefineDirective(def))
continue;
- const QString defineOption = defineLineToDefineOption(def);
+ const QString defineOption = defineDirectiveToDefineOption(def);
if (!result.contains(defineOption))
result.append(defineOption);
}
@@ -351,9 +351,9 @@ QString CompilerOptionsBuilder::includeOption() const
return QLatin1String("-I");
}
-QString CompilerOptionsBuilder::defineLineToDefineOption(const QByteArray &defineLine)
+QString CompilerOptionsBuilder::defineDirectiveToDefineOption(const QByteArray &defineDirective)
{
- const Macro macro = Macro::fromDefineDirective(defineLine);
+ const Macro macro = Macro::fromDefineDirective(defineDirective);
const QByteArray option = macro.toDefineOption(defineOption().toLatin1());
return QString::fromLatin1(option);
@@ -370,11 +370,11 @@ static bool isGccOrMinGwToolchain(const Core::Id &toolchainType)
|| toolchainType == ProjectExplorer::Constants::MINGW_TOOLCHAIN_TYPEID;
}
-bool CompilerOptionsBuilder::excludeDefineLine(const QByteArray &defineLine) const
+bool CompilerOptionsBuilder::excludeDefineDirective(const QByteArray &defineDirective) const
{
// This is a quick fix for QTCREATORBUG-11501.
// TODO: do a proper fix, see QTCREATORBUG-11709.
- if (defineLine.startsWith("#define __cplusplus"))
+ if (defineDirective.startsWith("#define __cplusplus"))
return true;
// gcc 4.9 has:
@@ -383,8 +383,10 @@ bool CompilerOptionsBuilder::excludeDefineLine(const QByteArray &defineLine) con
// The right-hand sides are gcc built-ins that clang does not understand, and they'd
// override clang's own (non-macro, it seems) definitions of the symbols on the left-hand
// side.
- if (isGccOrMinGwToolchain(m_projectPart.toolchainType) && defineLine.contains("has_include"))
+ if (isGccOrMinGwToolchain(m_projectPart.toolchainType)
+ && defineDirective.contains("has_include")) {
return true;
+ }
return false;
}
diff --git a/src/plugins/cpptools/compileroptionsbuilder.h b/src/plugins/cpptools/compileroptionsbuilder.h
index cb116719ad..34c7103f1b 100644
--- a/src/plugins/cpptools/compileroptionsbuilder.h
+++ b/src/plugins/cpptools/compileroptionsbuilder.h
@@ -41,7 +41,7 @@ public:
// Add custom options
void add(const QString &option);
- void addDefine(const QByteArray &defineLine);
+ void addDefine(const QByteArray &defineDirective);
// Add options based on project part
virtual void addTargetTriple();
@@ -56,7 +56,7 @@ public:
void undefineCppLanguageFeatureMacrosForMsvc2015();
protected:
- virtual bool excludeDefineLine(const QByteArray &defineLine) const;
+ virtual bool excludeDefineDirective(const QByteArray &defineDirective) const;
virtual bool excludeHeaderPath(const QString &headerPath) const;
virtual QString defineOption() const;
@@ -65,7 +65,7 @@ protected:
const ProjectPart m_projectPart;
private:
- QString defineLineToDefineOption(const QByteArray &defineLine);
+ QString defineDirectiveToDefineOption(const QByteArray &defineDirective);
QStringList m_options;
};