From df6752adce9b3bb3405bf6fd4a7a2f68fdc24f44 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Mon, 20 Apr 2020 09:03:27 -0400 Subject: [PATCH 053/315] FIXME: WIP on data-model-1.c --- gcc/analyzer/region-model2.cc | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/gcc/analyzer/region-model2.cc b/gcc/analyzer/region-model2.cc index edae4947ec0..d01cecffade 100644 --- a/gcc/analyzer/region-model2.cc +++ b/gcc/analyzer/region-model2.cc @@ -3549,11 +3549,16 @@ region_model2::on_gassign (const supernode */*snode*/, break; #endif + /* Assignments from unary ops of the form + set_value (lvalue (LHS), rvalue (RHS)) + We already got the lvalue for the LHS above, as "lhs_reg". */ + case COMPONENT_REF: + /* LHS = op0.op1; */ case REAL_CST: case INTEGER_CST: case ARRAY_REF: - { /* LHS = RHS; */ + { svalue2 *rhs_sval = get_rvalue (rhs1, ctxt); set_value (lhs_reg, rhs_sval, ctxt); } @@ -3647,16 +3652,6 @@ region_model2::on_gassign (const supernode */*snode*/, set_to_new_unknown_value (lhs_reg, TREE_TYPE (lhs), ctxt); } break; - - case COMPONENT_REF: - { - /* LHS = op0.op1; */ - region2 *child_reg = get_lvalue (rhs1, ctxt); - svalue2 *child_sval - = get_region2 (child_reg)->get_value (*this, true, ctxt); - set_value (lhs_reg, child_sval, ctxt); - } - break; #endif } -- 2.26.2