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]

[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


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