From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 47327 invoked by alias); 7 Apr 2016 20:13:32 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 47312 invoked by uid 89); 7 Apr 2016 20:13:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=25007, 1546,7, 15467 X-HELO: mail-qg0-f50.google.com Received: from mail-qg0-f50.google.com (HELO mail-qg0-f50.google.com) (209.85.192.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 07 Apr 2016 20:13:21 +0000 Received: by mail-qg0-f50.google.com with SMTP id j35so73551699qge.0 for ; Thu, 07 Apr 2016 13:13:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id; bh=V3ZnzOK/Fm60XqMdVCSM5C2S6FIy7ol9lw1kg/muuB0=; b=IDiccwleTzRhnNlBjsustxQ6sWK3YN3T1t5UiOnd06NkBsfnfvGvCLCb7VPjWtsPVs ZRcoYdzk/4IWFPVWd59kPDYFYKZai+KG7JEdYKjBPRjtV5t3fHm74AZ4RD8pE8YBtp9w xq5VP3zBwdf7qhw16Bb7n4jKRNyEQmUZ8k+cfPP8uFp+5dZ9KcofUNSifBbB/iuKx32N CEl344FsGZFsvpYtNJXQwfFFBJgmIqeg0gs8Dn3kinroAft7d8XE/BMbXkvRRAmb0Dq/ /hdnguq9s3g++BcLBPvBgcosF+5Yf+gX2n9cF3Prxw6E/pp91cUlhL7Zv8R9scGZBbFE rpNQ== X-Gm-Message-State: AD7BkJJj6AoJ7EGqAvLGM1w3RgbBi2xXIwI+uri9lQSwUexDHtbAIRxRRaXWyHqoyrAE7OHN X-Received: by 10.140.174.86 with SMTP id u83mr6543663qhu.35.1460059999331; Thu, 07 Apr 2016 13:13:19 -0700 (PDT) Received: from martin-galvan.dominio.tallertechnologies.com ([200.69.202.173]) by smtp.gmail.com with ESMTPSA id 64sm4064798qgy.34.2016.04.07.13.13.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 07 Apr 2016 13:13:18 -0700 (PDT) From: Martin Galvan To: gdb-patches@sourceware.org, palves@redhat.com, simon.marchi@ericsson.com Subject: [PATCH v2] value: Make accessor methods' parameters const-correct Date: Thu, 07 Apr 2016 20:13:00 -0000 Message-Id: <1460059990-15871-1-git-send-email-martin.galvan@tallertechnologies.com> X-SW-Source: 2016-04/txt/msg00166.txt.bz2 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. I have write access and copyright assignment. Ok to commit? gdb/ChangeLog: 2016-04-07 Martin Galvan * 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. --- gdb/value.c | 30 +++++++++++++++--------------- gdb/value.h | 30 +++++++++++++++--------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/gdb/value.c b/gdb/value.c index 3b66946..5aeed02 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -1093,7 +1093,7 @@ allocate_optimized_out_value (struct type *type) /* Accessor methods. */ struct value * -value_next (struct value *value) +value_next (const struct value *value) { return value->next; } @@ -1143,7 +1143,7 @@ set_value_bitsize (struct value *value, int bit) } struct value * -value_parent (struct value *value) +value_parent (const struct value *value) { return value->parent; } @@ -1179,7 +1179,7 @@ value_contents_all_raw (struct value *value) } struct type * -value_enclosing_type (struct value *value) +value_enclosing_type (const struct value *value) { return value->enclosing_type; } @@ -1388,7 +1388,7 @@ value_contents_copy (struct value *dst, int dst_offset, } int -value_lazy (struct value *value) +value_lazy (const struct value *value) { return value->lazy; } @@ -1400,7 +1400,7 @@ set_value_lazy (struct value *value, int val) } int -value_stack (struct value *value) +value_stack (const struct value *value) { return value->stack; } @@ -1481,7 +1481,7 @@ value_bits_synthetic_pointer (const struct value *value, } int -value_embedded_offset (struct value *value) +value_embedded_offset (const struct value *value) { return value->embedded_offset; } @@ -1493,7 +1493,7 @@ set_value_embedded_offset (struct value *value, int val) } int -value_pointed_to_offset (struct value *value) +value_pointed_to_offset (const struct value *value) { return value->pointed_to_offset; } @@ -1546,7 +1546,7 @@ value_address (const struct value *value) } CORE_ADDR -value_raw_address (struct value *value) +value_raw_address (const struct value *value) { if (value->lval == lval_internalvar || value->lval == lval_internalvar_component @@ -1583,7 +1583,7 @@ deprecated_value_regnum_hack (struct value *value) } int -deprecated_value_modifiable (struct value *value) +deprecated_value_modifiable (const struct value *value) { return value->modifiable; } @@ -1644,7 +1644,7 @@ value_free (struct value *val) /* Free all values allocated since MARK was obtained by value_mark (except for those released). */ void -value_free_to_mark (struct value *mark) +value_free_to_mark (const struct value *mark) { struct value *val; struct value *next; @@ -1736,7 +1736,7 @@ release_value_or_incref (struct value *val) /* Release all values up to mark */ struct value * -value_release_to_mark (struct value *mark) +value_release_to_mark (const struct value *mark) { struct value *val; struct value *next; @@ -2500,7 +2500,7 @@ clear_internalvar (struct internalvar *var) } char * -internalvar_name (struct internalvar *var) +internalvar_name (const struct internalvar *var) { return var->name; } @@ -3772,8 +3772,8 @@ coerce_ref_if_computed (const struct value *arg) struct value * readjust_indirect_value_type (struct value *value, struct type *enc_type, - struct type *original_type, - struct value *original_value) + const struct type *original_type, + const struct value *original_value) { /* Re-adjust 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. */ int -value_initialized (struct value *val) +value_initialized (const struct value *val) { return val->initialized; } diff --git a/gdb/value.h b/gdb/value.h index 2eac5ef..f8ec854 100644 --- a/gdb/value.h +++ b/gdb/value.h @@ -93,7 +93,7 @@ struct value; put into the value history or exposed to Python are taken off this list. */ -struct value *value_next (struct value *); +struct value *value_next (const struct 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 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); /* 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 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 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 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, struct type *new_type); @@ -205,9 +205,9 @@ extern struct type *value_actual_type (struct value *value, int resolve_simple_types, 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 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); /* 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 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 int value_stack (struct value *); +extern int value_stack (const struct value *); extern void set_value_stack (struct value *value, int val); /* 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 not, based on debugging information supplied by the compiler. 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); /* 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 offset. */ -extern CORE_ADDR value_raw_address (struct value *); +extern CORE_ADDR value_raw_address (const struct value *); /* Set the address of a value. */ 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, struct type *enc_type, - struct type *original_type, - struct value *original_val); + const struct type *original_type, + const struct value *original_val); /* 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 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, struct type *char_type); @@ -1006,7 +1006,7 @@ extern void value_print_array_elements (struct value *val, struct ui_file *stream, int format, 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, 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, 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 *); -- 2.8.1