diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp index 5ce662b9981af2aca9d19b8914bd7ef94fcc892b..1a6094601d7c1ea2d35895755eaffaee633cd855 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 5203f7db0ea1fe2f074e9dbdc3d5e8ee81ca8d43..73594726403f2b7d718c5875d34e174f9e32ff45 100644 --- a/src/libs/cplusplus/pp-engine.h +++ b/src/libs/cplusplus/pp-engine.h @@ -54,6 +54,7 @@ #include <Token.h> #include <QVector> +#include <QBitArray> 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<State> _savedStates;