From beac7b9539457fe721de1709b9a406cac2379851 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Wed, 19 Nov 2014 12:07:29 +0100 Subject: C++: Fix highlighting after "invalid code" For the semantic info document we do not expand function like macros and because of that certain macro invocations lead to invalid code that we need to handle, e.g.: Q_GLOBAL_STATIC(CppTools::SymbolFinder, symbolFinder) class Foo {}; This change makes parsing Foo in the semantic info document successfully again, which affects highlighting of that class. Change-Id: I389265ac64d3f0b8b8f406d38fa58d78820b14ba Reviewed-by: Erik Verbruggen --- src/plugins/cpptools/cppsemanticinfoupdater.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/plugins/cpptools/cppsemanticinfoupdater.cpp') diff --git a/src/plugins/cpptools/cppsemanticinfoupdater.cpp b/src/plugins/cpptools/cppsemanticinfoupdater.cpp index 2ee0501aa7..9c9d87ac6a 100644 --- a/src/plugins/cpptools/cppsemanticinfoupdater.cpp +++ b/src/plugins/cpptools/cppsemanticinfoupdater.cpp @@ -125,6 +125,7 @@ SemanticInfo SemanticInfoUpdaterPrivate::update(const SemanticInfo::Source &sour Document::Ptr doc = newSemanticInfo.snapshot.preprocessedDocument(source.code, source.fileName); if (processor) doc->control()->setTopLevelDeclarationProcessor(processor); + doc->setRetryHarderToParseDeclarations(true); doc->check(); if (processor && processor->isCanceled()) newSemanticInfo.complete = false; -- cgit v1.2.1