diff --git a/src/plugins/cpptools/rpp/pp-engine.cpp b/src/plugins/cpptools/rpp/pp-engine.cpp index a061b2942a97141a11de81678ef00ab26f83a980..70e802c5497fde34ad03ca6df8f70bca3c83c392 100644 --- a/src/plugins/cpptools/rpp/pp-engine.cpp +++ b/src/plugins/cpptools/rpp/pp-engine.cpp @@ -585,15 +585,19 @@ void pp::operator()(const QByteArray &source, QByteArray *result) } else { if (! m->function_like) { if (_dot->isNot(T_LPAREN)) { + m->hidden = true; expand(m->definition.constBegin(), m->definition.constEnd(), result); + m->hidden = false; continue; } else { QByteArray tmp; + m->hidden = true; expand(m->definition.constBegin(), m->definition.constEnd(), &tmp); + m->hidden = false; m = 0; // reset the active the macro @@ -636,7 +640,9 @@ void pp::operator()(const QByteArray &source, QByteArray *result) const char *beginOfText = startOfToken(*identifierToken); const char *endOfText = endOfToken(*_dot); ++_dot; // skip T_RPAREN + m->hidden = true; expand(beginOfText, endOfText, result); + m->hidden = false; } } }