From 168f9f95995d7958d8ae35a54c0691f46961c209 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 1 Mar 2023 10:33:20 -0700 Subject: Pass a frame to value_at_lazy and value_from_contents_and_address This patch adds a 'frame' parameter to value_at_lazy and ensures that it is passed down to the call to resolve_dynamic_type. This required also adding a frame parameter to value_from_contents_and_address. Nothing passes this parameter to value_at_lazy yet, so this patch should have no visible effect. --- gdb/value.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'gdb/value.h') diff --git a/gdb/value.h b/gdb/value.h index 1b4eff2..e13f92c 100644 --- a/gdb/value.h +++ b/gdb/value.h @@ -1084,7 +1084,13 @@ extern struct value *value_from_component (struct value *, struct type *, extern struct value *value_from_mpz (struct type *type, const gdb_mpz &v); extern struct value *value_at (struct type *type, CORE_ADDR addr); -extern struct value *value_at_lazy (struct type *type, CORE_ADDR addr); + +/* Return a new value given a type and an address. The new value is + lazy. If FRAME is given, it is used when resolving dynamic + properties. */ + +extern struct value *value_at_lazy (struct type *type, CORE_ADDR addr, + frame_info_ptr frame = nullptr); /* Like value_at, but ensures that the result is marked not_lval. This can be important if the memory is "volatile". */ @@ -1092,9 +1098,9 @@ extern struct value *value_at_non_lval (struct type *type, CORE_ADDR addr); extern struct value *value_from_contents_and_address_unresolved (struct type *, const gdb_byte *, CORE_ADDR); -extern struct value *value_from_contents_and_address (struct type *, - const gdb_byte *, - CORE_ADDR); +extern struct value *value_from_contents_and_address + (struct type *, const gdb_byte *, CORE_ADDR, + frame_info_ptr frame = nullptr); extern struct value *value_from_contents (struct type *, const gdb_byte *); extern struct value *default_value_from_register (struct gdbarch *gdbarch, -- cgit v1.1