aboutsummaryrefslogtreecommitdiff
path: root/gdb/value.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/value.h')
-rw-r--r--gdb/value.h35
1 files changed, 18 insertions, 17 deletions
diff --git a/gdb/value.h b/gdb/value.h
index c7d3866..e8d3c9f 100644
--- a/gdb/value.h
+++ b/gdb/value.h
@@ -162,13 +162,14 @@ public:
/* Allocate a lazy value representing register REGNUM in the frame previous
to NEXT_FRAME. If TYPE is non-nullptr, use it as the value type.
Otherwise, use `register_type` to obtain the type. */
- static struct value *allocate_register_lazy (frame_info_ptr next_frame,
- int regnum, type *type = nullptr);
+ static struct value *allocate_register_lazy (const frame_info_ptr &next_frame,
+ int regnum,
+ type *type = nullptr);
/* Same as `allocate_register_lazy`, but make the value non-lazy.
The caller is responsible for filling the value's contents. */
- static struct value *allocate_register (frame_info_ptr next_frame,
+ static struct value *allocate_register (const frame_info_ptr &next_frame,
int regnum, type *type = nullptr);
/* Create a computed lvalue, with type TYPE, function pointers
@@ -1110,7 +1111,7 @@ extern struct value *value_at (struct type *type, CORE_ADDR addr);
properties. */
extern struct value *value_at_lazy (struct type *type, CORE_ADDR addr,
- frame_info_ptr frame = nullptr);
+ const 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". */
@@ -1120,7 +1121,7 @@ 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,
- frame_info_ptr frame = nullptr);
+ const frame_info_ptr &frame = nullptr);
extern struct value *value_from_contents (struct type *, const gdb_byte *);
extern value *default_value_from_register (gdbarch *gdbarch, type *type,
@@ -1128,10 +1129,10 @@ extern value *default_value_from_register (gdbarch *gdbarch, type *type,
const frame_info_ptr &this_frame);
extern struct value *value_from_register (struct type *type, int regnum,
- frame_info_ptr frame);
+ const frame_info_ptr &frame);
extern CORE_ADDR address_from_register (int regnum,
- frame_info_ptr frame);
+ const frame_info_ptr &frame);
extern struct value *value_of_variable (struct symbol *var,
const struct block *b);
@@ -1142,11 +1143,11 @@ extern struct value *address_of_variable (struct symbol *var,
/* Return a value with the contents of register REGNUM as found in the frame
previous to NEXT_FRAME. */
-extern value *value_of_register (int regnum, frame_info_ptr next_frame);
+extern value *value_of_register (int regnum, const frame_info_ptr &next_frame);
/* Same as the above, but the value is not fetched. */
-extern value *value_of_register_lazy (frame_info_ptr next_frame, int regnum);
+extern value *value_of_register_lazy (const frame_info_ptr &next_frame, int regnum);
/* Return the symbol's reading requirement. */
@@ -1159,7 +1160,7 @@ extern int symbol_read_needs_frame (struct symbol *);
extern struct value *read_var_value (struct symbol *var,
const struct block *var_block,
- frame_info_ptr frame);
+ const frame_info_ptr &frame);
extern struct value *allocate_repeat_value (struct type *type, int count);
@@ -1556,7 +1557,7 @@ extern int val_print_string (struct type *elttype, const char *encoding,
extern void print_variable_and_value (const char *name,
struct symbol *var,
- frame_info_ptr frame,
+ const frame_info_ptr &frame,
struct ui_file *stream,
int indent);
@@ -1667,13 +1668,13 @@ private:
The size of the pseudo register specifies how many bytes to use. The
offset plus the size must not overflow the raw register's size. */
-value *pseudo_from_raw_part (frame_info_ptr next_frame, int pseudo_reg_num,
+value *pseudo_from_raw_part (const frame_info_ptr &next_frame, int pseudo_reg_num,
int raw_reg_num, int raw_offset);
/* Write PSEUDO_BUF, the contents of a pseudo register, to part of raw register
RAW_REG_NUM starting at RAW_OFFSET. */
-void pseudo_to_raw_part (frame_info_ptr next_frame,
+void pseudo_to_raw_part (const frame_info_ptr &next_frame,
gdb::array_view<const gdb_byte> pseudo_buf,
int raw_reg_num, int raw_offset);
@@ -1683,26 +1684,26 @@ void pseudo_to_raw_part (frame_info_ptr next_frame,
The sum of the sizes of raw registers must be equal to the size of the
pseudo register. */
-value *pseudo_from_concat_raw (frame_info_ptr next_frame, int pseudo_reg_num,
+value *pseudo_from_concat_raw (const frame_info_ptr &next_frame, int pseudo_reg_num,
int raw_reg_1_num, int raw_reg_2_num);
/* Write PSEUDO_BUF, the contents of a pseudo register, to the two raw registers
RAW_REG_1_NUM and RAW_REG_2_NUM. */
-void pseudo_to_concat_raw (frame_info_ptr next_frame,
+void pseudo_to_concat_raw (const frame_info_ptr &next_frame,
gdb::array_view<const gdb_byte> pseudo_buf,
int raw_reg_1_num, int raw_reg_2_num);
/* Same as the above, but with three raw registers. */
-value *pseudo_from_concat_raw (frame_info_ptr next_frame, int pseudo_reg_num,
+value *pseudo_from_concat_raw (const frame_info_ptr &next_frame, int pseudo_reg_num,
int raw_reg_1_num, int raw_reg_2_num,
int raw_reg_3_num);
/* Write PSEUDO_BUF, the contents of a pseudo register, to the three raw
registers RAW_REG_1_NUM, RAW_REG_2_NUM and RAW_REG_3_NUM. */
-void pseudo_to_concat_raw (frame_info_ptr next_frame,
+void pseudo_to_concat_raw (const frame_info_ptr &next_frame,
gdb::array_view<const gdb_byte> pseudo_buf,
int raw_reg_1_num, int raw_reg_2_num,
int raw_reg_3_num);