From 0be80466b82ba20f7a9014d216702751748d703c Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Wed, 9 Dec 2009 16:01:20 +0100
Subject: [PATCH] Save/Restore the if-level.

---
 src/libs/cplusplus/pp-engine.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp
index f6852efc8cd..3041fd827e3 100644
--- a/src/libs/cplusplus/pp-engine.cpp
+++ b/src/libs/cplusplus/pp-engine.cpp
@@ -757,6 +757,8 @@ bool Preprocessor::markGeneratedTokens(bool markGeneratedTokens,
 void Preprocessor::preprocess(const QString &fileName, const QByteArray &source,
                               QByteArray *result)
 {
+    const int previousIfLevel = iflevel;
+
     QByteArray *previousResult = _result;
     _result = result;
 
@@ -889,6 +891,8 @@ void Preprocessor::preprocess(const QString &fileName, const QByteArray &source,
     env->currentFile = previousFileName;
     env->currentLine = previousCurrentLine;
     _result = previousResult;
+
+    iflevel = previousIfLevel;
 }
 
 void Preprocessor::collectActualArguments(QVector<MacroArgumentReference> *actuals)
-- 
GitLab