diff options
Diffstat (limited to 'staptree.cxx')
-rw-r--r-- | staptree.cxx | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/staptree.cxx b/staptree.cxx index 4c3b3090..7a335fc3 100644 --- a/staptree.cxx +++ b/staptree.cxx @@ -1897,19 +1897,21 @@ varuse_collecting_visitor::visit_arrayindex (arrayindex *e) void varuse_collecting_visitor::visit_pre_crement (pre_crement *e) { - expression* last_lrvalue = current_lrvalue; - current_lrvalue = e->operand; // leave a mark for ::visit_symbol + // PR6954: regard as pure writes + expression* last_lvalue = current_lvalue; + current_lvalue = e->operand; // leave a mark for ::visit_symbol functioncall_traversing_visitor::visit_pre_crement (e); - current_lrvalue = last_lrvalue; + current_lvalue = last_lvalue; } void varuse_collecting_visitor::visit_post_crement (post_crement *e) { - expression* last_lrvalue = current_lrvalue; - current_lrvalue = e->operand; // leave a mark for ::visit_symbol + // PR6954: regard as pure writes + expression* last_lvalue = current_lvalue; + current_lvalue = e->operand; // leave a mark for ::visit_symbol functioncall_traversing_visitor::visit_post_crement (e); - current_lrvalue = last_lrvalue; + current_lvalue = last_lvalue; } void |