From 570b4665e19d19bf8a0408c0b77f21ddc204dc2c Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Tue, 23 May 2017 11:47:51 +0300 Subject: [PATCH] flow: store __next/cur/prev_stmt before parsing inline functions These weren't getting saved. Oops. Signed-off-by: Dan Carpenter --- smatch_flow.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/smatch_flow.c b/smatch_flow.c index 8306e4a4..5bbf0120 100644 --- a/smatch_flow.c +++ b/smatch_flow.c @@ -1524,6 +1524,11 @@ static void save_flow_state(void) __add_ptr_list(&backup, switch_expr_stack, 0); __add_ptr_list(&backup, cur_func_sym, 0); + + __add_ptr_list(&backup, __prev_stmt, 0); + __add_ptr_list(&backup, __cur_stmt, 0); + __add_ptr_list(&backup, __next_stmt, 0); + } static void *pop_backup(void) @@ -1537,6 +1542,10 @@ static void *pop_backup(void) static void restore_flow_state(void) { + __next_stmt = pop_backup(); + __cur_stmt = pop_backup(); + __prev_stmt = pop_backup(); + cur_func_sym = pop_backup(); switch_expr_stack = pop_backup(); big_condition_stack = pop_backup(); -- 2.11.4.GIT