Constify arch_type and friends
authorTom Tromey <tom@tromey.com>
Mon, 6 Jun 2016 14:06:15 +0000 (08:06 -0600)
committerTom Tromey <tom@tromey.com>
Fri, 10 Jun 2016 16:10:17 +0000 (10:10 -0600)
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-10  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
gdb/gdbtypes.c
gdb/gdbtypes.h

index 1a4a002..335476b 100644 (file)
@@ -1,5 +1,20 @@
 2016-06-10  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-10  Tom Tromey  <tom@tromey.com>
+
        PR rust/20110:
        * rust-exp.y (lex_number): Don't truncate large numbers to i32.
 
index 9e1759b..48f2cd3 100644 (file)
@@ -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);
index c651c88..91e3eb9 100644 (file)
@@ -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);