From 695bfa52ccf22058e371828c3636a3d74424ec5b Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 6 Jun 2016 08:06:15 -0600 Subject: 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-10 Tom Tromey * 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 1a4a002..335476b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,20 @@ 2016-06-10 Tom Tromey + * 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 + PR rust/20110: * rust-exp.y (lex_number): Don't truncate large numbers to i32. 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); -- cgit v1.1