Re: [PATCH 2/3] Use type_instance_flags more throughout

Pedro Alves
2020-09-14T19:26:07Z

On 9/11/20 9:21 PM, Tom Tromey wrote:
>>>>>> "Pedro" == Pedro Alves <pedro@palves.net> writes:
>
> Pedro> -int
> Pedro> +type_instance_flags
> Pedro> address_space_name_to_int (struct gdbarch *gdbarch,
>
> Maybe this is misnamed after the change.
>
> Pedro> const char *
> Pedro> -address_space_int_to_name (struct gdbarch *gdbarch, int space_flag)
> Pedro> +address_space_int_to_name (struct gdbarch *gdbarch,
>
> Likewise.

Yeah, I wasn't sure it was worth it.

I'm adding this patch to the series to address this.

From 924d1538efdfbc2241cbab0c2ad91abbb0921fde Mon Sep 17 00:00:00 2001
From: Pedro Alves <pedro@palves.net>
Date: Mon, 14 Sep 2020 19:53:18 +0100
Subject: [PATCH] Rename address_space_int_to_name/address_space_name_to_int

These methods now take/return a type_instance_flags instead of a raw
integer, so rename them accordingly.

gdb/ChangeLog:

* c-typeprint.c (c_type_print_modifier): Adjust to rename.
* gdbtypes.c (address_space_name_to_int): Rename to ...
(address_space_name_to_type_instance_flags): ... this.
(address_space_int_to_name): Rename to ...
(address_space_type_instance_flags_to_name): ... this.
* gdbtypes.h (address_space_name_to_int): Rename to ...
(address_space_name_to_type_instance_flags): ... this.
(address_space_int_to_name): Rename to ...
(address_space_type_instance_flags_to_name): ... this.
* type-stack.c (type_stack::insert): Adjust to rename.
* type-stack.h (type_stack::insert): Likewise.
---
gdb/c-typeprint.c | 5 +++--
gdb/gdbtypes.c | 16 ++++++++--------
gdb/gdbtypes.h | 8 ++++----
gdb/type-stack.c | 5 +++--
gdb/type-stack.h | 10 +++++-----
5 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c
index b642c88178..a07b29a95d 100644
--- a/gdb/c-typeprint.c
+++ b/gdb/c-typeprint.c
@@ -526,8 +526,9 @@ c_type_print_modifier (struct type *type, struct ui_file *stream,
did_print_modifier = 1;
}

- address_space_id = address_space_int_to_name (get_type_arch (type),
- TYPE_INSTANCE_FLAGS (type));
+ address_space_id
+ = address_space_type_instance_flags_to_name (get_type_arch (type),
+ TYPE_INSTANCE_FLAGS (type));
if (address_space_id)
{
if (did_print_modifier || need_pre_space)
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index b57353dec3..7ade2ccb53 100644
--- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c
@@ -575,12 +575,12 @@ lookup_function_type_with_arguments (struct type *type,
return fn;
}

-/* Identify address space identifier by name --
- return the integer flag defined in gdbtypes.h. */
+/* Identify address space identifier by name -- return a
+ type_instance_flags. */

type_instance_flags
-address_space_name_to_int (struct gdbarch *gdbarch,
- const char *space_identifier)
+address_space_name_to_type_instance_flags (struct gdbarch *gdbarch,
+ const char *space_identifier)
{
type_instance_flags type_flags;

@@ -598,12 +598,12 @@ address_space_name_to_int (struct gdbarch *gdbarch,
error (_("Unknown address space specifier: \"%s\""), space_identifier);
}

-/* Identify address space identifier by integer flag as defined in
- gdbtypes.h -- return the string version of the adress space name. */
+/* Identify address space identifier by type_instance_flags and return
+ the string version of the adress space name. */

const char *
-address_space_int_to_name (struct gdbarch *gdbarch,
- type_instance_flags space_flag)
+address_space_type_instance_flags_to_name (struct gdbarch *gdbarch,
+ type_instance_flags space_flag)
{
if (space_flag & TYPE_INSTANCE_FLAG_CODE_SPACE)
return "code";
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index cdd136ef52..6b87de307b 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -2217,11 +2217,11 @@ extern struct type *make_atomic_type (struct type *);

extern void replace_type (struct type *, struct type *);

-extern type_instance_flags address_space_name_to_int (struct gdbarch *,
- const char *);
+extern type_instance_flags address_space_name_to_type_instance_flags
+ (struct gdbarch *, const char *);

-extern const char *address_space_int_to_name (struct gdbarch *,
- type_instance_flags);
+extern const char *address_space_type_instance_flags_to_name
+ (struct gdbarch *, type_instance_flags);

extern struct type *make_type_with_address_space
(struct type *type, type_instance_flags space_identifier);
diff --git a/gdb/type-stack.c b/gdb/type-stack.c
index 608142c849..94ff9ba8c9 100644
--- a/gdb/type-stack.c
+++ b/gdb/type-stack.c
@@ -67,8 +67,9 @@ type_stack::insert (struct expr_builder *pstate, const char *string)

element.piece = tp_space_identifier;
insert_into (slot, element);
- element.int_val = address_space_name_to_int (pstate->gdbarch (),
- string);
+ element.int_val
+ = address_space_name_to_type_instance_flags (pstate->gdbarch (),
+ string);
insert_into (slot, element);
}

diff --git a/gdb/type-stack.h b/gdb/type-stack.h
index 8060f2fea7..265178fc37 100644
--- a/gdb/type-stack.h
+++ b/gdb/type-stack.h
@@ -157,11 +157,11 @@ struct type_stack

/* Insert a tp_space_identifier and the corresponding address space
value into the stack. STRING is the name of an address space, as
- recognized by address_space_name_to_int. If the stack is empty,
- the new elements are simply pushed. If the stack is not empty,
- this function assumes that the first item on the stack is a
- tp_pointer, and the new values are inserted above the first
- item. */
+ recognized by address_space_name_to_type_instance_flags. If the
+ stack is empty, the new elements are simply pushed. If the stack
+ is not empty, this function assumes that the first item on the
+ stack is a tp_pointer, and the new values are inserted above the
+ first item. */

void insert (struct expr_builder *pstate, const char *string);

--
2.14.5