summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Raggi <qtc-committer@nokia.com>2008-12-03 09:41:51 +0100
committerRoberto Raggi <qtc-committer@nokia.com>2008-12-03 10:44:46 +0100
commit0d40f8a944cf5ffa13c4906e345b0034d9352d40 (patch)
tree8cf474b0561150bec91c4d478e8d982afbb4879d
parent0fcb8131bd6ad756870de43289adf7a8bbf878a6 (diff)
downloadqt-creator-0d40f8a944cf5ffa13c4906e345b0034d9352d40.tar.gz
Added macro protection.
-rw-r--r--src/plugins/cpptools/rpp/pp-engine.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/cpptools/rpp/pp-engine.cpp b/src/plugins/cpptools/rpp/pp-engine.cpp
index a061b2942a..70e802c549 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;
}
}
}