From dba0764a6759c3ba067aa124906ef3bfed5b87a3 Mon Sep 17 00:00:00 2001 From: Neil Date: Wed, 14 May 2014 11:29:10 +1000 Subject: Limit iterations when expanding macros in case a macro is recursive such as #define MAC(x) MAC(x+1) Also fixes macros that are co-recursive with other macros. --- lexers/LexCPP.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx index d884c212f..9e99b5ce8 100644 --- a/lexers/LexCPP.cxx +++ b/lexers/LexCPP.cxx @@ -1412,7 +1412,10 @@ void LexerCPP::EvaluateTokens(std::vector &tokens, const SymbolTabl } // Evaluate identifiers - for (size_t i=0; i(tokens[i][0]))) { SymbolTable::const_iterator it = preprocessorDefinitions.find(tokens[i]); if (it != preprocessorDefinitions.end()) { -- cgit v1.2.3