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]

[RFA] Constify arch_type and friends


While working on the Rust support, I happened to notice that arch_type
and related functions take "char *" arguments, where "const char *"
would be more correct.  This patch fixes this oversight.  Tested by
rebuilding.

2016-06-06  Tom Tromey  <tom@tromey.com>

	* gdbtypes.c (arch_type, arch_integer_type, arch_character_type)
	(arch_boolean_type, arch_float_type, arch_complex_type)
	(arch_flags_type, append_flags_type_field)
	(append_flags_type_flag, arch_composite_type)
	(append_composite_type_field_raw)
	(append_composite_type_field_aligned)
	(append_composite_type_field): Make "name" parameter const.
	* gdbtypes.h (arch_type, arch_integer_type, arch_character_type)
	(arch_boolean_type, arch_float_type, arch_complex_type)
	(append_composite_type_field, append_composite_type_field_aligned)
	(append_composite_type_field_raw, arch_flags_type)
	(append_flags_type_field, append_flags_type_flag): Constify.
---
 gdb/ChangeLog  | 15 +++++++++++++++
 gdb/gdbtypes.c | 28 +++++++++++++++-------------
 gdb/gdbtypes.h | 31 ++++++++++++++++++-------------
 3 files changed, 48 insertions(+), 26 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index af4ddcc..5f39c5d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,18 @@
+2016-06-06  Tom Tromey  <tom@tromey.com>
+
+	* gdbtypes.c (arch_type, arch_integer_type, arch_character_type)
+	(arch_boolean_type, arch_float_type, arch_complex_type)
+	(arch_flags_type, append_flags_type_field)
+	(append_flags_type_flag, arch_composite_type)
+	(append_composite_type_field_raw)
+	(append_composite_type_field_aligned)
+	(append_composite_type_field): Make "name" parameter const.
+	* gdbtypes.h (arch_type, arch_integer_type, arch_character_type)
+	(arch_boolean_type, arch_float_type, arch_complex_type)
+	(append_composite_type_field, append_composite_type_field_aligned)
+	(append_composite_type_field_raw, arch_flags_type)
+	(append_flags_type_field, append_flags_type_flag): Constify.
+
 2016-06-02  Jon Turney  <jon.turney@dronecode.org.uk>
 
 	* windows-nat.c (handle_output_debug_string): Return type of
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index 9e1759b..48f2cd3 100644
--- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c
@@ -4629,7 +4629,7 @@ copy_type (const struct type *type)
 
 struct type *
 arch_type (struct gdbarch *gdbarch,
-	   enum type_code code, int length, char *name)
+	   enum type_code code, int length, const char *name)
 {
   struct type *type;
 
@@ -4649,7 +4649,7 @@ arch_type (struct gdbarch *gdbarch,
 
 struct type *
 arch_integer_type (struct gdbarch *gdbarch,
-		   int bit, int unsigned_p, char *name)
+		   int bit, int unsigned_p, const char *name)
 {
   struct type *t;
 
@@ -4668,7 +4668,7 @@ arch_integer_type (struct gdbarch *gdbarch,
 
 struct type *
 arch_character_type (struct gdbarch *gdbarch,
-		     int bit, int unsigned_p, char *name)
+		     int bit, int unsigned_p, const char *name)
 {
   struct type *t;
 
@@ -4685,7 +4685,7 @@ arch_character_type (struct gdbarch *gdbarch,
 
 struct type *
 arch_boolean_type (struct gdbarch *gdbarch,
-		   int bit, int unsigned_p, char *name)
+		   int bit, int unsigned_p, const char *name)
 {
   struct type *t;
 
@@ -4703,7 +4703,8 @@ arch_boolean_type (struct gdbarch *gdbarch,
 
 struct type *
 arch_float_type (struct gdbarch *gdbarch,
-		 int bit, char *name, const struct floatformat **floatformats)
+		 int bit, const char *name,
+		 const struct floatformat **floatformats)
 {
   struct type *t;
 
@@ -4734,7 +4735,7 @@ arch_float_type (struct gdbarch *gdbarch,
 
 struct type *
 arch_complex_type (struct gdbarch *gdbarch,
-		   char *name, struct type *target_type)
+		   const char *name, struct type *target_type)
 {
   struct type *t;
 
@@ -4748,7 +4749,7 @@ arch_complex_type (struct gdbarch *gdbarch,
    NAME is the type name.  LENGTH is the size of the flag word in bytes.  */
 
 struct type *
-arch_flags_type (struct gdbarch *gdbarch, char *name, int length)
+arch_flags_type (struct gdbarch *gdbarch, const char *name, int length)
 {
   int max_nfields = length * TARGET_CHAR_BIT;
   struct type *type;
@@ -4769,7 +4770,7 @@ arch_flags_type (struct gdbarch *gdbarch, char *name, int length)
 
 void
 append_flags_type_field (struct type *type, int start_bitpos, int nr_bits,
-			 struct type *field_type, char *name)
+			 struct type *field_type, const char *name)
 {
   int type_bitsize = TYPE_LENGTH (type) * TARGET_CHAR_BIT;
   int field_nr = TYPE_NFIELDS (type);
@@ -4792,7 +4793,7 @@ append_flags_type_field (struct type *type, int start_bitpos, int nr_bits,
    position BITPOS is called NAME.  */
 
 void
-append_flags_type_flag (struct type *type, int bitpos, char *name)
+append_flags_type_flag (struct type *type, int bitpos, const char *name)
 {
   struct gdbarch *gdbarch = get_type_arch (type);
 
@@ -4805,7 +4806,8 @@ append_flags_type_flag (struct type *type, int bitpos, char *name)
    specified by CODE) associated with GDBARCH.  NAME is the type name.  */
 
 struct type *
-arch_composite_type (struct gdbarch *gdbarch, char *name, enum type_code code)
+arch_composite_type (struct gdbarch *gdbarch, const char *name,
+		     enum type_code code)
 {
   struct type *t;
 
@@ -4821,7 +4823,7 @@ arch_composite_type (struct gdbarch *gdbarch, char *name, enum type_code code)
    the caller should do so.  Return the new field.  */
 
 struct field *
-append_composite_type_field_raw (struct type *t, char *name,
+append_composite_type_field_raw (struct type *t, const char *name,
 				 struct type *field)
 {
   struct field *f;
@@ -4840,7 +4842,7 @@ append_composite_type_field_raw (struct type *t, char *name,
    ALIGNMENT (if non-zero) specifies the minimum field alignment.  */
 
 void
-append_composite_type_field_aligned (struct type *t, char *name,
+append_composite_type_field_aligned (struct type *t, const char *name,
 				     struct type *field, int alignment)
 {
   struct field *f = append_composite_type_field_raw (t, name, field);
@@ -4880,7 +4882,7 @@ append_composite_type_field_aligned (struct type *t, char *name,
 /* Add new field with name NAME and type FIELD to composite type T.  */
 
 void
-append_composite_type_field (struct type *t, char *name,
+append_composite_type_field (struct type *t, const char *name,
 			     struct type *field)
 {
   append_composite_type_field_aligned (t, name, field, 0);
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index c651c88..91e3eb9 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -1676,13 +1676,17 @@ extern struct type *init_type (enum type_code, int, int, const char *,
 			       struct objfile *);
 
 /* Helper functions to construct architecture-owned types.  */
-extern struct type *arch_type (struct gdbarch *, enum type_code, int, char *);
-extern struct type *arch_integer_type (struct gdbarch *, int, int, char *);
-extern struct type *arch_character_type (struct gdbarch *, int, int, char *);
-extern struct type *arch_boolean_type (struct gdbarch *, int, int, char *);
-extern struct type *arch_float_type (struct gdbarch *, int, char *,
+extern struct type *arch_type (struct gdbarch *, enum type_code, int,
+			       const char *);
+extern struct type *arch_integer_type (struct gdbarch *, int, int,
+				       const char *);
+extern struct type *arch_character_type (struct gdbarch *, int, int,
+					 const char *);
+extern struct type *arch_boolean_type (struct gdbarch *, int, int,
+				       const char *);
+extern struct type *arch_float_type (struct gdbarch *, int, const char *,
 				     const struct floatformat **);
-extern struct type *arch_complex_type (struct gdbarch *, char *,
+extern struct type *arch_complex_type (struct gdbarch *, const char *,
 				       struct type *);
 
 /* Helper functions to construct a struct or record type.  An
@@ -1692,25 +1696,26 @@ extern struct type *arch_complex_type (struct gdbarch *, char *,
    field packed against the previous.  */
 
 extern struct type *arch_composite_type (struct gdbarch *gdbarch,
-					 char *name, enum type_code code);
-extern void append_composite_type_field (struct type *t, char *name,
+					 const char *name, enum type_code code);
+extern void append_composite_type_field (struct type *t, const char *name,
 					 struct type *field);
 extern void append_composite_type_field_aligned (struct type *t,
-						 char *name,
+						 const char *name,
 						 struct type *field,
 						 int alignment);
-struct field *append_composite_type_field_raw (struct type *t, char *name,
+struct field *append_composite_type_field_raw (struct type *t, const char *name,
 					       struct type *field);
 
 /* Helper functions to construct a bit flags type.  An initially empty
    type is created using arch_flag_type().  Flags are then added using
    append_flag_type_field() and append_flag_type_flag().  */
 extern struct type *arch_flags_type (struct gdbarch *gdbarch,
-				     char *name, int length);
+				     const char *name, int length);
 extern void append_flags_type_field (struct type *type,
 				     int start_bitpos, int nr_bits,
-				     struct type *field_type, char *name);
-extern void append_flags_type_flag (struct type *type, int bitpos, char *name);
+				     struct type *field_type, const char *name);
+extern void append_flags_type_flag (struct type *type, int bitpos,
+				    const char *name);
 
 extern void make_vector_type (struct type *array_type);
 extern struct type *init_vector_type (struct type *elt_type, int n);
-- 
2.5.5


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