This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] More char constification


On 15-10-09 11:55 AM, Pedro Alves wrote:
> Trivial constifications flagged by G++.  E.g.:
> 
>  src/gdb/c-varobj.c: In function âvoid c_describe_child(const varobj*, int, char**, value**, type**, char**)â:
>  src/gdb/c-varobj.c:373:33: error: invalid conversion from âconst char*â to âchar*â [-fpermissive]
>     char *join = was_ptr ? "->" : ".";
> 				  ^
> 
> gdb/ChangeLog:
> 2015-10-09  Pedro Alves  <palves@redhat.com>
> 
> 	* ada-lang.c (ada_enum_name): Constify local.
> 	* ada-typeprint.c (print_range_bound): Constify locals.
> 	* c-varobj.c (c_describe_child): Likewise.
> 	* cli/cli-setshow.c (do_set_command): Likewise.
> 	* gdb_vecs.c (delim_string_to_char_ptr_vec_append): Likewise.
> 	* dwarf2read.c (find_file_and_directory): Likewise.
> 	(anonymous_struct_prefix, dwarf2_name): Likewise.
> 	* gnu-v3-abi.c (gnuv3_rtti_type): Likewise.
> 	* go-lang.c (unpack_mangled_go_symbol): Likewise.
> 	* jv-typeprint.c (java_type_print_base): Likewise.
> 	* ser-tcp.c (net_open): Likewise.
> 	* symfile.c (deduce_language_from_filename): Likewise.
> 	* symtab.c (gdb_mangle_name): Likewise.
> 	* tui/tui-io.c (tui_redisplay_readline): Likewise.
> ---
>  gdb/ada-lang.c        | 2 +-
>  gdb/ada-typeprint.c   | 8 ++++----
>  gdb/c-varobj.c        | 6 +++---
>  gdb/cli/cli-setshow.c | 2 +-
>  gdb/common/gdb_vecs.c | 3 ++-
>  gdb/dwarf2read.c      | 6 +++---
>  gdb/gnu-v3-abi.c      | 2 +-
>  gdb/go-lang.c         | 4 ++--
>  gdb/jv-typeprint.c    | 3 ++-
>  gdb/ser-tcp.c         | 3 ++-
>  gdb/symfile.c         | 2 +-
>  gdb/symtab.c          | 4 ++--
>  gdb/tui/tui-io.c      | 2 +-
>  13 files changed, 25 insertions(+), 22 deletions(-)
> 
> diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
> index a229fa1..002d0b8 100644
> --- a/gdb/ada-lang.c
> +++ b/gdb/ada-lang.c
> @@ -9356,7 +9356,7 @@ ada_enum_name (const char *name)
>  {
>    static char *result;
>    static size_t result_len = 0;
> -  char *tmp;
> +  const char *tmp;
>  
>    /* First, unqualify the enumeration name:
>       1. Search for the last '.' character.  If we find one, then skip
> diff --git a/gdb/ada-typeprint.c b/gdb/ada-typeprint.c
> index 11fdc70..4164bb2 100644
> --- a/gdb/ada-typeprint.c
> +++ b/gdb/ada-typeprint.c
> @@ -203,7 +203,7 @@ print_range (struct type *type, struct ui_file *stream,
>     set *N past the bound and its delimiter, if any.  */
>  
>  static void
> -print_range_bound (struct type *type, char *bounds, int *n,
> +print_range_bound (struct type *type, const char *bounds, int *n,
>  		   struct ui_file *stream)
>  {
>    LONGEST B;
> @@ -230,8 +230,8 @@ print_range_bound (struct type *type, char *bounds, int *n,
>    else
>      {
>        int bound_len;
> -      char *bound = bounds + *n;
> -      char *pend;
> +      const char *bound = bounds + *n;
> +      const char *pend;
>  
>        pend = strstr (bound, "__");
>        if (pend == NULL)
> @@ -300,7 +300,7 @@ print_range_type (struct type *raw_type, struct ui_file *stream,
>    else
>      {
>        int prefix_len = subtype_info - name;
> -      char *bounds_str;
> +      const char *bounds_str;
>        int n;
>  
>        subtype_info += 5;
> diff --git a/gdb/c-varobj.c b/gdb/c-varobj.c
> index 59d8b0f..b39a113 100644
> --- a/gdb/c-varobj.c
> +++ b/gdb/c-varobj.c
> @@ -370,7 +370,7 @@ c_describe_child (const struct varobj *parent, int index,
>  
>  	    if (cfull_expression)
>  	      {
> -		char *join = was_ptr ? "->" : ".";
> +		const char *join = was_ptr ? "->" : ".";
>  
>  		*cfull_expression = xstrprintf ("(%s)%s%s", parent_expression,
>  						join, field_name);
> @@ -741,7 +741,7 @@ cplus_describe_child (const struct varobj *parent, int index,
>    if (TYPE_CODE (type) == TYPE_CODE_STRUCT
>        || TYPE_CODE (type) == TYPE_CODE_UNION)
>      {
> -      char *join = was_ptr ? "->" : ".";
> +      const char *join = was_ptr ? "->" : ".";
>  
>        if (CPLUS_FAKE_CHILD (parent))
>  	{
> @@ -825,7 +825,7 @@ cplus_describe_child (const struct varobj *parent, int index,
>  
>  	  if (cfull_expression)
>  	    {
> -	      char *ptr = was_ptr ? "*" : "";
> +	      const char *ptr = was_ptr ? "*" : "";
>  
>  	      /* Cast the parent to the base' type.  Note that in gdb,
>  		 expression like 
> diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c
> index cb201ca..74d2d00 100644
> --- a/gdb/cli/cli-setshow.c
> +++ b/gdb/cli/cli-setshow.c
> @@ -523,7 +523,7 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c)
>  	  break;
>  	case var_boolean:
>  	  {
> -	    char *opt = *(int *) c->var ? "on" : "off";
> +	    const char *opt = *(int *) c->var ? "on" : "off";
>  
>  	    observer_notify_command_param_changed (name, opt);
>  	  }
> diff --git a/gdb/common/gdb_vecs.c b/gdb/common/gdb_vecs.c
> index 63766db..f8c3414 100644
> --- a/gdb/common/gdb_vecs.c
> +++ b/gdb/common/gdb_vecs.c
> @@ -49,7 +49,8 @@ delim_string_to_char_ptr_vec_append (VEC (char_ptr) **vecp,
>    do
>      {
>        size_t this_len;
> -      char *next_field, *this_field;
> +      const char *next_field;
> +      char *this_field;
>  
>        next_field = strchr (str, delimiter);
>        if (next_field == NULL)
> diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
> index b45f21b..b05ca7e 100644
> --- a/gdb/dwarf2read.c
> +++ b/gdb/dwarf2read.c
> @@ -9074,7 +9074,7 @@ find_file_and_directory (struct die_info *die, struct dwarf2_cu *cu,
>      {
>        /* Irix 6.2 native cc prepends <machine>.: to the compilation
>  	 directory, get rid of it.  */
> -      char *cp = strchr (*comp_dir, ':');
> +      const char *cp = strchr (*comp_dir, ':');
>  
>        if (cp && cp != *comp_dir && cp[-1] == '.' && cp[1] == '/')
>  	*comp_dir = cp + 1;
> @@ -19239,7 +19239,7 @@ static char *
>  anonymous_struct_prefix (struct die_info *die, struct dwarf2_cu *cu)
>  {
>    struct attribute *attr;
> -  char *base;
> +  const char *base;
>  
>    if (die->tag != DW_TAG_class_type && die->tag != DW_TAG_interface_type
>        && die->tag != DW_TAG_structure_type && die->tag != DW_TAG_union_type)
> @@ -19621,7 +19621,7 @@ dwarf2_name (struct die_info *die, struct dwarf2_cu *cu)
>  
>  	  if (demangled)
>  	    {
> -	      char *base;
> +	      const char *base;
>  
>  	      /* FIXME: we already did this for the partial symbol... */
>  	      DW_STRING (attr)
> diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c
> index b962cd3..09e085b 100644
> --- a/gdb/gnu-v3-abi.c
> +++ b/gdb/gnu-v3-abi.c
> @@ -296,7 +296,7 @@ gnuv3_rtti_type (struct value *value,
>    const char *class_name;
>    struct type *run_time_type;
>    LONGEST offset_to_top;
> -  char *atsign;
> +  const char *atsign;
>  
>    /* We only have RTTI for class objects.  */
>    if (TYPE_CODE (values_type) != TYPE_CODE_STRUCT)
> diff --git a/gdb/go-lang.c b/gdb/go-lang.c
> index f6d731b..6e70c89 100644
> --- a/gdb/go-lang.c
> +++ b/gdb/go-lang.c
> @@ -195,9 +195,9 @@ unpack_mangled_go_symbol (const char *mangled_name,
>    /* Pointer to "N" if valid "N<digit(s)>_" found.  */
>    char *method_type;
>    /* Pointer to the first '.'.  */
> -  char *first_dot;
> +  const char *first_dot;
>    /* Pointer to the last '.'.  */
> -  char *last_dot;
> +  const char *last_dot;
>    /* Non-zero if we saw a pointer indicator.  */
>    int saw_pointer;
>  
> diff --git a/gdb/jv-typeprint.c b/gdb/jv-typeprint.c
> index 441f313..5bba39c 100644
> --- a/gdb/jv-typeprint.c
> +++ b/gdb/jv-typeprint.c
> @@ -223,7 +223,8 @@ java_type_print_base (struct type *type, struct ui_file *stream, int show,
>  	      for (j = 0; j < n_overloads; j++)
>  		{
>  		  const char *real_physname;
> -		  char *physname, *p;
> +		  const char *p;
> +		  char *physname;
>  		  int is_full_physname_constructor;
>  
>  		  real_physname = TYPE_FN_FIELD_PHYSNAME (f, j);
> diff --git a/gdb/ser-tcp.c b/gdb/ser-tcp.c
> index 485ed6c..ce40b61 100644
> --- a/gdb/ser-tcp.c
> +++ b/gdb/ser-tcp.c
> @@ -155,7 +155,8 @@ wait_for_connect (struct serial *scb, unsigned int *polls)
>  int
>  net_open (struct serial *scb, const char *name)
>  {
> -  char *port_str, hostname[100];
> +  char hostname[100];
> +  const char *port_str;
>    int n, port, tmp;
>    int use_udp;
>    struct hostent *hostent;
> diff --git a/gdb/symfile.c b/gdb/symfile.c
> index 682e3ca..55a9f5c 100644
> --- a/gdb/symfile.c
> +++ b/gdb/symfile.c
> @@ -2881,7 +2881,7 @@ enum language
>  deduce_language_from_filename (const char *filename)
>  {
>    int i;
> -  char *cp;
> +  const char *cp;
>  
>    if (filename != NULL)
>      if ((cp = strrchr (filename, '.')) != NULL)
> diff --git a/gdb/symtab.c b/gdb/symtab.c
> index 6c0c3ef..16190c4 100644
> --- a/gdb/symtab.c
> +++ b/gdb/symtab.c
> @@ -515,8 +515,8 @@ gdb_mangle_name (struct type *type, int method_id, int signature_id)
>    int is_constructor;
>    int is_destructor = is_destructor_name (physname);
>    /* Need a new type prefix.  */
> -  char *const_prefix = method->is_const ? "C" : "";
> -  char *volatile_prefix = method->is_volatile ? "V" : "";
> +  const char *const_prefix = method->is_const ? "C" : "";
> +  const char *volatile_prefix = method->is_volatile ? "V" : "";
>    char buf[20];
>    int len = (newname == NULL ? 0 : strlen (newname));
>  
> diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c
> index 6f81f09..253d7e9 100644
> --- a/gdb/tui/tui-io.c
> +++ b/gdb/tui/tui-io.c
> @@ -203,7 +203,7 @@ tui_redisplay_readline (void)
>    int c_line;
>    int in;
>    WINDOW *w;
> -  char *prompt;
> +  const char *prompt;
>    int start_line;
>  
>    /* Detect when we temporarily left SingleKey and now the readline
> 

LGTM.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]