Replace int with bool, because that's what it is.
gdb/ChangeLog:
* dwarf2expr.h (dwarf_expr_piece) <v.mem.in_stack_memory>:
Change type to bool.
(dwarf_stack_value) <in_stack_memory>: Likewise.
(dwarf_expr_context) <push_address>: Change parameter type to
bool.
<fetch_in_stack_memory>: Change return type to bool.
<push>: Change parameter type to bool.
* dwarf2expr.c (dwarf_expr_context::push): Change parameter type
to bool.
(dwarf_expr_context::push_address): Likewise.
(dwarf_expr_context::fetch_in_stack_memory): Change return type
to bool.
(dwarf_expr_context::execute_stack_op): Adjust.
* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Adjust.
+2017-09-14 Simon Marchi <simon.marchi@ericsson.com>
+
+ * dwarf2expr.h (dwarf_expr_piece) <v.mem.in_stack_memory>:
+ Change type to bool.
+ (dwarf_stack_value) <in_stack_memory>: Likewise.
+ (dwarf_expr_context) <push_address>: Change parameter type to
+ bool.
+ <fetch_in_stack_memory>: Change return type to bool.
+ <push>: Change parameter type to bool.
+ * dwarf2expr.c (dwarf_expr_context::push): Change parameter type
+ to bool.
+ (dwarf_expr_context::push_address): Likewise.
+ (dwarf_expr_context::fetch_in_stack_memory): Change return type
+ to bool.
+ (dwarf_expr_context::execute_stack_op): Adjust.
+ * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Adjust.
+
2017-09-14 Simon Marchi <simon.marchi@ericsson.com>
* dwarf2expr.h (struct dwarf_expr_piece): Move up.
/* Push VALUE onto the stack. */
void
-dwarf_expr_context::push (struct value *value, int in_stack_memory)
+dwarf_expr_context::push (struct value *value, bool in_stack_memory)
{
struct dwarf_stack_value *v;
/* Push VALUE onto the stack. */
void
-dwarf_expr_context::push_address (CORE_ADDR value, int in_stack_memory)
+dwarf_expr_context::push_address (CORE_ADDR value, bool in_stack_memory)
{
push (value_from_ulongest (address_type (), value), in_stack_memory);
}
/* Retrieve the in_stack_memory flag of the N'th item on the stack. */
-int
+bool
dwarf_expr_context::fetch_in_stack_memory (int n)
{
if (this->stack_len <= n)
enum dwarf_location_atom op = (enum dwarf_location_atom) *op_ptr++;
ULONGEST result;
/* Assume the value is not in stack memory.
- Code that knows otherwise sets this to 1.
+ Code that knows otherwise sets this to true.
Some arithmetic on stack addresses can probably be assumed to still
be a stack address, but we skip this complication for now.
This is just an optimization, so it's always ok to punt
- and leave this as 0. */
- int in_stack_memory = 0;
+ and leave this as false. */
+ bool in_stack_memory = false;
uint64_t uoffset, reg;
int64_t offset;
struct value *result_val = NULL;
"base using explicit value operator"));
result = result + offset;
result_val = value_from_ulongest (address_type, result);
- in_stack_memory = 1;
+ in_stack_memory = true;
this->stack_len = before_stack_len;
this->location = DWARF_VALUE_MEMORY;
}
case DW_OP_call_frame_cfa:
result = this->get_frame_cfa ();
result_val = value_from_ulongest (address_type, result);
- in_stack_memory = 1;
+ in_stack_memory = true;
break;
case DW_OP_GNU_push_tls_address:
CORE_ADDR addr;
/* Non-zero if the piece is known to be in memory and on
the program's stack. */
- int in_stack_memory;
+ bool in_stack_memory;
} mem;
/* The piece's register number, for DWARF_VALUE_REGISTER pieces. */
{
struct value *value;
- /* Non-zero if the piece is in memory and is known to be
- on the program's stack. It is always ok to set this to zero.
- This is used, for example, to optimize memory access from the target.
- It can vastly speed up backtraces on long latency connections when
- "set stack-cache on". */
- int in_stack_memory;
+ /* True if the piece is in memory and is known to be on the program's stack.
+ It is always ok to set this to zero. This is used, for example, to
+ optimize memory access from the target. It can vastly speed up backtraces
+ on long latency connections when "set stack-cache on". */
+ bool in_stack_memory;
};
/* The expression evaluator works with a dwarf_expr_context, describing
dwarf_expr_context ();
virtual ~dwarf_expr_context ();
- void push_address (CORE_ADDR value, int in_stack_memory);
+ void push_address (CORE_ADDR value, bool in_stack_memory);
void eval (const gdb_byte *addr, size_t len);
struct value *fetch (int n);
CORE_ADDR fetch_address (int n);
- int fetch_in_stack_memory (int n);
+ bool fetch_in_stack_memory (int n);
/* The stack of values, allocated with xmalloc. */
struct dwarf_stack_value *stack;
struct type *address_type () const;
void grow_stack (size_t need);
- void push (struct value *value, int in_stack_memory);
+ void push (struct value *value, bool in_stack_memory);
int stack_empty_p () const;
void add_piece (ULONGEST size, ULONGEST offset);
void execute_stack_op (const gdb_byte *op_ptr, const gdb_byte *op_end);
{
struct type *ptr_type;
CORE_ADDR address = ctx.fetch_address (0);
- int in_stack_memory = ctx.fetch_in_stack_memory (0);
+ bool in_stack_memory = ctx.fetch_in_stack_memory (0);
/* DW_OP_deref_size (and possibly other operations too) may
create a pointer instead of an address. Ideally, the