aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorAndrew Burgess <aburgess@redhat.com>2022-03-16 15:32:50 +0000
committerAndrew Burgess <aburgess@redhat.com>2022-04-03 17:18:20 +0100
commit22480d7c3977df6a111a1c1ab56982372732f4e5 (patch)
treee6bf10d7b7fbf3d2f1418f3ad183f8b308d20ac7 /gdb
parent5187219460cd1ba877c555a67adb283c7a2f0d25 (diff)
downloadgdb-22480d7c3977df6a111a1c1ab56982372732f4e5.zip
gdb-22480d7c3977df6a111a1c1ab56982372732f4e5.tar.gz
gdb-22480d7c3977df6a111a1c1ab56982372732f4e5.tar.bz2
gdb: small simplification in dwarf2_locexpr_baton_eval
While examining the dwarf expression evaluator, I noticed that in dwarf2_locexpr_baton_eval, whenever push_initial_value is true, the addr_stack will never be nullptr. This allows for a small cleanup, replacing an if/then/else with an assertion. There should be no user visible changes after this commit.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/dwarf2/loc.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/gdb/dwarf2/loc.c b/gdb/dwarf2/loc.c
index 73de311..634b51e 100644
--- a/gdb/dwarf2/loc.c
+++ b/gdb/dwarf2/loc.c
@@ -1569,11 +1569,13 @@ dwarf2_evaluate_loc_desc (struct type *type, struct frame_info *frame,
CORE_ADDR. FRAME is the frame in which the expression is
evaluated. ADDR_STACK is a context (location of a variable) and
might be needed to evaluate the location expression.
- PUSH_INITIAL_VALUE is true if the address (either from ADDR_STACK,
- or the default of 0) should be pushed on the DWARF expression
- evaluation stack before evaluating the expression; this is required
- by certain forms of DWARF expression. Returns 1 on success, 0
- otherwise. */
+
+ PUSH_INITIAL_VALUE is true if the first address from ADDR_STACK, should
+ be pushed on the DWARF expression evaluation stack before evaluating the
+ expression; this is required by certain forms of DWARF expression. When
+ PUSH_INITIAL_VALUE is true ADDR_STACK can't be nullptr.
+
+ Returns 1 on success, 0 otherwise. */
static int
dwarf2_locexpr_baton_eval (const struct dwarf2_locexpr_baton *dlbaton,
@@ -1595,10 +1597,8 @@ dwarf2_locexpr_baton_eval (const struct dwarf2_locexpr_baton *dlbaton,
if (push_initial_value)
{
- if (addr_stack != nullptr)
- ctx.push_address (addr_stack->addr, false);
- else
- ctx.push_address (0, false);
+ gdb_assert (addr_stack != nullptr);
+ ctx.push_address (addr_stack->addr, false);
}
try