[RFA] Constify arch_type and friends

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[RFA] Constify arch_type and friends

Tom Tromey-2
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  <[hidden email]>

        * 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  <[hidden email]>
+
+ * 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  <[hidden email]>
 
  * 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

Reply | Threaded
Open this post in threaded view
|

Re: [RFA] Constify arch_type and friends

Yao Qi
Tom Tromey <[hidden email]> writes:

> 2016-06-06  Tom Tromey  <[hidden email]>
>
> * 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.

Patch is good to me.

--
Yao (齐尧)