From 5b7a19425b7ff8233b4b727e195fe594c81fd7e5 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Wed, 21 Oct 2009 16:18:34 +0200 Subject: [PATCH] Use bit vectors to store the preprocessor's state. --- src/libs/cplusplus/pp-engine.cpp | 2 ++ src/libs/cplusplus/pp-engine.h | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp index 5ce662b9981..1a6094601d7 100644 --- a/src/libs/cplusplus/pp-engine.cpp +++ b/src/libs/cplusplus/pp-engine.cpp @@ -545,6 +545,8 @@ Preprocessor::Preprocessor(Client *client, Environment *env) : client(client), env(env), _expand(env), + _skipping(MAX_LEVEL), + _true_test(MAX_LEVEL), _result(0), _markGeneratedTokens(false), _expandMacros(true) diff --git a/src/libs/cplusplus/pp-engine.h b/src/libs/cplusplus/pp-engine.h index 5203f7db0ea..73594726403 100644 --- a/src/libs/cplusplus/pp-engine.h +++ b/src/libs/cplusplus/pp-engine.h @@ -54,6 +54,7 @@ #include #include +#include namespace CPlusPlus { @@ -177,8 +178,8 @@ private: Environment *env; MacroExpander _expand; - bool _skipping[MAX_LEVEL]; // ### move in state - bool _true_test[MAX_LEVEL]; // ### move in state + QBitArray _skipping; // ### move in state + QBitArray _true_test; // ### move in state int iflevel; // ### move in state QList _savedStates;