This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[2/8] make 'mangled' field const
- From: Tom Tromey <tromey at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Fri, 11 Jan 2013 12:19:44 -0700
- Subject: [2/8] make 'mangled' field const
This changes demangled_name_entry's "mangled" field to be const.
This also lets us remove some bogus casts.
Tom
* symtab.c (struct demangled_name_entry) <mangled>: Now const.
(symbol_set_names): Remove casts. Handle field const-ness.
---
gdb/symtab.c | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/gdb/symtab.c b/gdb/symtab.c
index bbba795..59ef4c1 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -514,7 +514,7 @@ symbol_set_language (struct general_symbol_info *gsymbol,
/* Objects of this type are stored in the demangled name hash table. */
struct demangled_name_entry
{
- char *mangled;
+ const char *mangled;
char demangled[1];
};
@@ -746,7 +746,7 @@ symbol_set_names (struct general_symbol_info *gsymbol,
linkage_name_copy = linkage_name;
}
- entry.mangled = (char *) lookup_name;
+ entry.mangled = lookup_name;
slot = ((struct demangled_name_entry **)
htab_find_slot (objfile->demangled_names_hash,
&entry, INSERT));
@@ -777,10 +777,12 @@ symbol_set_names (struct general_symbol_info *gsymbol,
offsetof (struct demangled_name_entry,
demangled)
+ demangled_len + 1);
- (*slot)->mangled = (char *) lookup_name;
+ (*slot)->mangled = lookup_name;
}
else
{
+ char *mangled_ptr;
+
/* If we must copy the mangled name, put it directly after
the demangled name so we can have a single
allocation. */
@@ -788,8 +790,9 @@ symbol_set_names (struct general_symbol_info *gsymbol,
offsetof (struct demangled_name_entry,
demangled)
+ lookup_len + demangled_len + 2);
- (*slot)->mangled = &((*slot)->demangled[demangled_len + 1]);
- strcpy ((*slot)->mangled, lookup_name);
+ mangled_ptr = &((*slot)->demangled[demangled_len + 1]);
+ strcpy (mangled_ptr, lookup_name);
+ (*slot)->mangled = mangled_ptr;
}
if (demangled_name != NULL)
--
1.7.7.6