* symtab.c (struct demangled_name_entry) <mangled>: Now const.

(symbol_set_names): Remove casts.  Handle field const-ness.
This commit is contained in:
Tom Tromey 2013-01-21 18:03:08 +00:00
parent cfc594ee56
commit 9d2ceabe7f
2 changed files with 13 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2013-01-21 Tom Tromey <tromey@redhat.com>
* symtab.c (struct demangled_name_entry) <mangled>: Now const.
(symbol_set_names): Remove casts. Handle field const-ness.
2013-01-21 Tom Tromey <tromey@redhat.com> 2013-01-21 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (new_symbol_full): Remove cast. * dwarf2read.c (new_symbol_full): Remove cast.

View File

@ -526,7 +526,7 @@ symbol_set_language (struct general_symbol_info *gsymbol,
/* Objects of this type are stored in the demangled name hash table. */ /* Objects of this type are stored in the demangled name hash table. */
struct demangled_name_entry struct demangled_name_entry
{ {
char *mangled; const char *mangled;
char demangled[1]; char demangled[1];
}; };
@ -758,7 +758,7 @@ symbol_set_names (struct general_symbol_info *gsymbol,
linkage_name_copy = linkage_name; linkage_name_copy = linkage_name;
} }
entry.mangled = (char *) lookup_name; entry.mangled = lookup_name;
slot = ((struct demangled_name_entry **) slot = ((struct demangled_name_entry **)
htab_find_slot (objfile->demangled_names_hash, htab_find_slot (objfile->demangled_names_hash,
&entry, INSERT)); &entry, INSERT));
@ -789,10 +789,12 @@ symbol_set_names (struct general_symbol_info *gsymbol,
offsetof (struct demangled_name_entry, offsetof (struct demangled_name_entry,
demangled) demangled)
+ demangled_len + 1); + demangled_len + 1);
(*slot)->mangled = (char *) lookup_name; (*slot)->mangled = lookup_name;
} }
else else
{ {
char *mangled_ptr;
/* If we must copy the mangled name, put it directly after /* If we must copy the mangled name, put it directly after
the demangled name so we can have a single the demangled name so we can have a single
allocation. */ allocation. */
@ -800,8 +802,9 @@ symbol_set_names (struct general_symbol_info *gsymbol,
offsetof (struct demangled_name_entry, offsetof (struct demangled_name_entry,
demangled) demangled)
+ lookup_len + demangled_len + 2); + lookup_len + demangled_len + 2);
(*slot)->mangled = &((*slot)->demangled[demangled_len + 1]); mangled_ptr = &((*slot)->demangled[demangled_len + 1]);
strcpy ((*slot)->mangled, lookup_name); strcpy (mangled_ptr, lookup_name);
(*slot)->mangled = mangled_ptr;
} }
if (demangled_name != NULL) if (demangled_name != NULL)