summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/pp-engine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/cplusplus/pp-engine.cpp')
-rw-r--r--src/libs/cplusplus/pp-engine.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp
index e6ba93de81..a7e0600027 100644
--- a/src/libs/cplusplus/pp-engine.cpp
+++ b/src/libs/cplusplus/pp-engine.cpp
@@ -593,7 +593,7 @@ void Preprocessor::State::popTokenBuffer()
Preprocessor::Preprocessor(Client *client, Environment *env)
: m_client(client)
, m_env(env)
- , m_expandMacros(true)
+ , m_expandFunctionlikeMacros(true)
, m_keepComments(false)
{
}
@@ -615,14 +615,14 @@ QByteArray Preprocessor::run(const QString &fileName,
return preprocessed;
}
-bool Preprocessor::expandMacros() const
+bool Preprocessor::expandFunctionlikeMacros() const
{
- return m_expandMacros;
+ return m_expandFunctionlikeMacros;
}
-void Preprocessor::setExpandMacros(bool expandMacros)
+void Preprocessor::setExpandFunctionlikeMacros(bool expandMacros)
{
- m_expandMacros = expandMacros;
+ m_expandFunctionlikeMacros = expandMacros;
}
bool Preprocessor::keepComments() const
@@ -741,9 +741,6 @@ void Preprocessor::skipPreprocesorDirective(PPToken *tk)
bool Preprocessor::handleIdentifier(PPToken *tk)
{
- if (!expandMacros())
- return false;
-
ScopedBoolSwap s(m_state.m_inPreprocessorDirective, true);
static const QByteArray ppLine("__LINE__");
@@ -813,6 +810,9 @@ bool Preprocessor::handleIdentifier(PPToken *tk)
PPToken oldMarkerTk;
if (macro->isFunctionLike()) {
+ if (!expandFunctionlikeMacros())
+ return false;
+
// Collect individual tokens that form the macro arguments.
QVector<QVector<PPToken> > allArgTks;
bool hasArgs = collectActualArguments(tk, &allArgTks);