From d586e1395c9adec14f4b22f72cdb5121bb451211 Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Thu, 15 Jul 2010 16:27:29 +0200
Subject: [PATCH] Search for the local usages after processing the function
 body.

---
 src/plugins/cppeditor/cppchecksymbols.cpp | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/plugins/cppeditor/cppchecksymbols.cpp b/src/plugins/cppeditor/cppchecksymbols.cpp
index f33c6bdf467..b38ba8e8792 100644
--- a/src/plugins/cppeditor/cppchecksymbols.cpp
+++ b/src/plugins/cppeditor/cppchecksymbols.cpp
@@ -528,6 +528,12 @@ void CheckSymbols::endVisit(TemplateDeclarationAST *)
 bool CheckSymbols::visit(FunctionDefinitionAST *ast)
 {
     _functionDefinitionStack.append(ast);
+
+    accept(ast->decl_specifier_list);
+    accept(ast->declarator);
+    accept(ast->ctor_initializer);
+    accept(ast->function_body);
+
     const LocalSymbols locals(_doc, ast);
     QList<SemanticInfo::Use> uses;
     foreach (uses, locals.uses) {
@@ -535,11 +541,6 @@ bool CheckSymbols::visit(FunctionDefinitionAST *ast)
             addTypeUsage(u);
     }
 
-    accept(ast->decl_specifier_list);
-    accept(ast->declarator);
-    accept(ast->ctor_initializer);
-    accept(ast->function_body);
-
     _functionDefinitionStack.removeLast();
     return false;
 }
-- 
GitLab