value: Make accessor methods' parameters const-correct

I did a quick pass over value.c and value.h and made some of the accessor methods'
pass-by-reference parameters const-correct. Besides the obvious benefits, this is
required if we want to use them on values that are already declared as const
(such as the parameters to lval_funcs).

There's probably a lot more stuff that can be made const, here and elsewhere.

gdb/ChangeLog:
2016-04-08  Martin Galvan  <martin.galvan@tallertechnologies.com>

    * value.c (value_next): Make pass-by-reference parameters const-correct.
    (value_parent): Likewise.
    (value_enclosing_type): Likewise.
    (value_lazy): Likewise.
    (value_stack): Likewise.
    (value_embedded_offset): Likewise.
    (value_pointed_to_offset): Likewise.
    (value_raw_address): Likewise.
    (deprecated_value_modifiable): Likewise.
    (value_free_to_mark): Likewise.
    (value_release_to_mark): Likewise.
    (internalvar_name): Likewise.
    (readjust_indirect_value_type): Likewise.
    (value_initialized): Likewise.
    * value.h (value_next): Likewise.
    (value_parent): Likewise.
    (value_enclosing_type): Likewise.
    (value_lazy): Likewise.
    (value_stack): Likewise.
    (value_embedded_offset): Likewise.
    (value_pointed_to_offset): Likewise.
    (value_raw_address): Likewise.
    (deprecated_value_modifiable): Likewise.
    (value_free_to_mark): Likewise.
    (value_release_to_mark): Likewise.
    (internalvar_name): Likewise.
    (readjust_indirect_value_type): Likewise.
    (value_initialized): Likewise.
This commit is contained in:
Martin Galvan
2016-04-08 15:05:45 -03:00
parent 136a43b762
commit 4bf7b526be
3 changed files with 61 additions and 30 deletions

View File

@ -1,3 +1,34 @@
2016-04-08 Martin Galvan <martin.galvan@tallertechnologies.com>
* value.c (value_next): Make pass-by-reference parameters const-correct.
(value_parent): Likewise.
(value_enclosing_type): Likewise.
(value_lazy): Likewise.
(value_stack): Likewise.
(value_embedded_offset): Likewise.
(value_pointed_to_offset): Likewise.
(value_raw_address): Likewise.
(deprecated_value_modifiable): Likewise.
(value_free_to_mark): Likewise.
(value_release_to_mark): Likewise.
(internalvar_name): Likewise.
(readjust_indirect_value_type): Likewise.
(value_initialized): Likewise.
* value.h (value_next): Likewise.
(value_parent): Likewise.
(value_enclosing_type): Likewise.
(value_lazy): Likewise.
(value_stack): Likewise.
(value_embedded_offset): Likewise.
(value_pointed_to_offset): Likewise.
(value_raw_address): Likewise.
(deprecated_value_modifiable): Likewise.
(value_free_to_mark): Likewise.
(value_release_to_mark): Likewise.
(internalvar_name): Likewise.
(readjust_indirect_value_type): Likewise.
(value_initialized): Likewise.
2016-04-07 Yao Qi <yao.qi@linaro.org> 2016-04-07 Yao Qi <yao.qi@linaro.org>
* record-full.c (record_full_insert_breakpoint): Return * record-full.c (record_full_insert_breakpoint): Return

View File

@ -1093,7 +1093,7 @@ allocate_optimized_out_value (struct type *type)
/* Accessor methods. */ /* Accessor methods. */
struct value * struct value *
value_next (struct value *value) value_next (const struct value *value)
{ {
return value->next; return value->next;
} }
@ -1143,7 +1143,7 @@ set_value_bitsize (struct value *value, int bit)
} }
struct value * struct value *
value_parent (struct value *value) value_parent (const struct value *value)
{ {
return value->parent; return value->parent;
} }
@ -1179,7 +1179,7 @@ value_contents_all_raw (struct value *value)
} }
struct type * struct type *
value_enclosing_type (struct value *value) value_enclosing_type (const struct value *value)
{ {
return value->enclosing_type; return value->enclosing_type;
} }
@ -1388,7 +1388,7 @@ value_contents_copy (struct value *dst, int dst_offset,
} }
int int
value_lazy (struct value *value) value_lazy (const struct value *value)
{ {
return value->lazy; return value->lazy;
} }
@ -1400,7 +1400,7 @@ set_value_lazy (struct value *value, int val)
} }
int int
value_stack (struct value *value) value_stack (const struct value *value)
{ {
return value->stack; return value->stack;
} }
@ -1481,7 +1481,7 @@ value_bits_synthetic_pointer (const struct value *value,
} }
int int
value_embedded_offset (struct value *value) value_embedded_offset (const struct value *value)
{ {
return value->embedded_offset; return value->embedded_offset;
} }
@ -1493,7 +1493,7 @@ set_value_embedded_offset (struct value *value, int val)
} }
int int
value_pointed_to_offset (struct value *value) value_pointed_to_offset (const struct value *value)
{ {
return value->pointed_to_offset; return value->pointed_to_offset;
} }
@ -1546,7 +1546,7 @@ value_address (const struct value *value)
} }
CORE_ADDR CORE_ADDR
value_raw_address (struct value *value) value_raw_address (const struct value *value)
{ {
if (value->lval == lval_internalvar if (value->lval == lval_internalvar
|| value->lval == lval_internalvar_component || value->lval == lval_internalvar_component
@ -1583,7 +1583,7 @@ deprecated_value_regnum_hack (struct value *value)
} }
int int
deprecated_value_modifiable (struct value *value) deprecated_value_modifiable (const struct value *value)
{ {
return value->modifiable; return value->modifiable;
} }
@ -1644,7 +1644,7 @@ value_free (struct value *val)
/* Free all values allocated since MARK was obtained by value_mark /* Free all values allocated since MARK was obtained by value_mark
(except for those released). */ (except for those released). */
void void
value_free_to_mark (struct value *mark) value_free_to_mark (const struct value *mark)
{ {
struct value *val; struct value *val;
struct value *next; struct value *next;
@ -1736,7 +1736,7 @@ release_value_or_incref (struct value *val)
/* Release all values up to mark */ /* Release all values up to mark */
struct value * struct value *
value_release_to_mark (struct value *mark) value_release_to_mark (const struct value *mark)
{ {
struct value *val; struct value *val;
struct value *next; struct value *next;
@ -2500,7 +2500,7 @@ clear_internalvar (struct internalvar *var)
} }
char * char *
internalvar_name (struct internalvar *var) internalvar_name (const struct internalvar *var)
{ {
return var->name; return var->name;
} }
@ -3772,8 +3772,8 @@ coerce_ref_if_computed (const struct value *arg)
struct value * struct value *
readjust_indirect_value_type (struct value *value, struct type *enc_type, readjust_indirect_value_type (struct value *value, struct type *enc_type,
struct type *original_type, const struct type *original_type,
struct value *original_value) const struct value *original_value)
{ {
/* Re-adjust type. */ /* Re-adjust type. */
deprecated_set_value_type (value, TYPE_TARGET_TYPE (original_type)); deprecated_set_value_type (value, TYPE_TARGET_TYPE (original_type));
@ -3878,7 +3878,7 @@ set_value_initialized (struct value *val, int status)
/* Return the initialized field in a value struct. */ /* Return the initialized field in a value struct. */
int int
value_initialized (struct value *val) value_initialized (const struct value *val)
{ {
return val->initialized; return val->initialized;
} }

View File

@ -93,7 +93,7 @@ struct value;
put into the value history or exposed to Python are taken off this put into the value history or exposed to Python are taken off this
list. */ list. */
struct value *value_next (struct value *); struct value *value_next (const struct value *);
/* Type of the value. */ /* Type of the value. */
@ -126,7 +126,7 @@ extern void set_value_bitpos (struct value *, int bit);
single read from the target when displaying multiple single read from the target when displaying multiple
bitfields. */ bitfields. */
struct value *value_parent (struct value *); struct value *value_parent (const struct value *);
extern void set_value_parent (struct value *value, struct value *parent); extern void set_value_parent (struct value *value, struct value *parent);
/* Describes offset of a value within lval of a structure in bytes. /* Describes offset of a value within lval of a structure in bytes.
@ -142,7 +142,7 @@ extern void set_value_offset (struct value *, int offset);
relevant if lval != not_lval.''. Shouldn't the value instead be relevant if lval != not_lval.''. Shouldn't the value instead be
not_lval and be done with it? */ not_lval and be done with it? */
extern int deprecated_value_modifiable (struct value *value); extern int deprecated_value_modifiable (const struct value *value);
/* If a value represents a C++ object, then the `type' field gives the /* If a value represents a C++ object, then the `type' field gives the
object's compile-time type. If the object actually belongs to some object's compile-time type. If the object actually belongs to some
@ -185,7 +185,7 @@ extern int deprecated_value_modifiable (struct value *value);
`type', and `embedded_offset' is zero, so everything works `type', and `embedded_offset' is zero, so everything works
normally. */ normally. */
extern struct type *value_enclosing_type (struct value *); extern struct type *value_enclosing_type (const struct value *);
extern void set_value_enclosing_type (struct value *val, extern void set_value_enclosing_type (struct value *val,
struct type *new_type); struct type *new_type);
@ -205,9 +205,9 @@ extern struct type *value_actual_type (struct value *value,
int resolve_simple_types, int resolve_simple_types,
int *real_type_found); int *real_type_found);
extern int value_pointed_to_offset (struct value *value); extern int value_pointed_to_offset (const struct value *value);
extern void set_value_pointed_to_offset (struct value *value, int val); extern void set_value_pointed_to_offset (struct value *value, int val);
extern int value_embedded_offset (struct value *value); extern int value_embedded_offset (const struct value *value);
extern void set_value_embedded_offset (struct value *value, int val); extern void set_value_embedded_offset (struct value *value, int val);
/* For lval_computed values, this structure holds functions used to /* For lval_computed values, this structure holds functions used to
@ -312,10 +312,10 @@ extern void *value_computed_closure (const struct value *value);
element. If you ever change the way lazy flag is set and reset, be element. If you ever change the way lazy flag is set and reset, be
sure to consider this use as well! */ sure to consider this use as well! */
extern int value_lazy (struct value *); extern int value_lazy (const struct value *);
extern void set_value_lazy (struct value *value, int val); extern void set_value_lazy (struct value *value, int val);
extern int value_stack (struct value *); extern int value_stack (const struct value *);
extern void set_value_stack (struct value *value, int val); extern void set_value_stack (struct value *value, int val);
/* Throw an error complaining that the value has been optimized /* Throw an error complaining that the value has been optimized
@ -398,7 +398,7 @@ extern void mark_value_bits_optimized_out (struct value *value,
/* Set or return field indicating whether a variable is initialized or /* Set or return field indicating whether a variable is initialized or
not, based on debugging information supplied by the compiler. not, based on debugging information supplied by the compiler.
1 = initialized; 0 = uninitialized. */ 1 = initialized; 0 = uninitialized. */
extern int value_initialized (struct value *); extern int value_initialized (const struct value *);
extern void set_value_initialized (struct value *, int); extern void set_value_initialized (struct value *, int);
/* Set COMPONENT's location as appropriate for a component of WHOLE /* Set COMPONENT's location as appropriate for a component of WHOLE
@ -425,7 +425,7 @@ extern CORE_ADDR value_address (const struct value *);
/* Like value_address, except the result does not include value's /* Like value_address, except the result does not include value's
offset. */ offset. */
extern CORE_ADDR value_raw_address (struct value *); extern CORE_ADDR value_raw_address (const struct value *);
/* Set the address of a value. */ /* Set the address of a value. */
extern void set_value_address (struct value *, CORE_ADDR); extern void set_value_address (struct value *, CORE_ADDR);
@ -458,8 +458,8 @@ extern struct value *coerce_ref_if_computed (const struct value *arg);
extern struct value * readjust_indirect_value_type (struct value *value, extern struct value * readjust_indirect_value_type (struct value *value,
struct type *enc_type, struct type *enc_type,
struct type *original_type, const struct type *original_type,
struct value *original_val); const struct value *original_val);
/* Convert a REF to the object referenced. */ /* Convert a REF to the object referenced. */
@ -694,7 +694,7 @@ extern struct value *allocate_repeat_value (struct type *type, int count);
extern struct value *value_mark (void); extern struct value *value_mark (void);
extern void value_free_to_mark (struct value *mark); extern void value_free_to_mark (const struct value *mark);
extern struct value *value_cstring (const char *ptr, ssize_t len, extern struct value *value_cstring (const char *ptr, ssize_t len,
struct type *char_type); struct type *char_type);
@ -1006,7 +1006,7 @@ extern void value_print_array_elements (struct value *val,
struct ui_file *stream, int format, struct ui_file *stream, int format,
enum val_prettyformat pretty); enum val_prettyformat pretty);
extern struct value *value_release_to_mark (struct value *mark); extern struct value *value_release_to_mark (const struct value *mark);
extern void val_print (struct type *type, const gdb_byte *valaddr, extern void val_print (struct type *type, const gdb_byte *valaddr,
int embedded_offset, CORE_ADDR address, int embedded_offset, CORE_ADDR address,
@ -1034,7 +1034,7 @@ extern void print_variable_and_value (const char *name,
extern void typedef_print (struct type *type, struct symbol *news, extern void typedef_print (struct type *type, struct symbol *news,
struct ui_file *stream); struct ui_file *stream);
extern char *internalvar_name (struct internalvar *var); extern char *internalvar_name (const struct internalvar *var);
extern void preserve_values (struct objfile *); extern void preserve_values (struct objfile *);