From 8842ca5ee33d1ca68301de86d3117c6a0b0255f9 Mon Sep 17 00:00:00 2001
From: Virgile Prevosto <virgile.prevosto@m4x.org>
Date: Fri, 24 May 2019 14:40:45 +0200
Subject: [PATCH] [visitor] visit formal decls before local decls in a fundec

from a dependency point of view, this make more sense.
---
 src/kernel_services/ast_queries/cil.ml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/kernel_services/ast_queries/cil.ml b/src/kernel_services/ast_queries/cil.ml
index ac3f9c46927..892f3a46cbc 100644
--- a/src/kernel_services/ast_queries/cil.ml
+++ b/src/kernel_services/ast_queries/cil.ml
@@ -3782,10 +3782,10 @@ and childrenExp (vis: cilVisitor) (e: exp) : exp =
        Cil_datatype.Varinfo.pretty nv
    end;
    f.svar <- nv; (* hit the function name *)
-   (* visit local declarations *)
-   f.slocals <- mapNoCopy (visitCilVarDecl vis) f.slocals;
    (* visit the formals *)
    let newformals = mapNoCopy (visitCilVarDecl vis) f.sformals in
+   (* visit local declarations *)
+   f.slocals <- mapNoCopy (visitCilVarDecl vis) f.slocals;
    (* Make sure the type reflects the formals *)
    let selection = State_selection.singleton FormalsDecl.self in
    if vis#behavior.is_copy_behavior || newformals != f.sformals then begin
-- 
GitLab