This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 04/14] add make_unqualified_type
- From: Tom Tromey <tromey at redhat dot com>
- To: gdb-patches at sourceware dot org
- Cc: Tom Tromey <tromey at redhat dot com>
- Date: Fri, 16 May 2014 09:26:25 -0600
- Subject: [PATCH 04/14] add make_unqualified_type
- Authentication-results: sourceware.org; auth=none
- References: <1400253995-12333-1-git-send-email-tromey at redhat dot com>
There's seemingly no function to get the unqualified variant of a
type, so this patch adds one. This new function will be used in the
final patch.
2014-05-16 Tom Tromey <tromey@redhat.com>
* gdbtypes.h (make_unqualified_type): Declare.
* gdbtypes.c (make_unqualified_type): New function.
---
gdb/ChangeLog | 5 +++++
gdb/gdbtypes.c | 13 +++++++++++++
gdb/gdbtypes.h | 2 ++
3 files changed, 20 insertions(+)
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index 8e6631a..8e59d15 100644
--- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c
@@ -706,6 +706,19 @@ make_restrict_type (struct type *type)
NULL);
}
+/* Make a type without const, volatile, or restrict. */
+
+struct type *
+make_unqualified_type (struct type *type)
+{
+ return make_qualified_type (type,
+ (TYPE_INSTANCE_FLAGS (type)
+ & ~(TYPE_INSTANCE_FLAG_CONST
+ | TYPE_INSTANCE_FLAG_VOLATILE
+ | TYPE_INSTANCE_FLAG_RESTRICT)),
+ NULL);
+}
+
/* Replace the contents of ntype with the type *type. This changes the
contents, rather than the pointer for TYPE_MAIN_TYPE (ntype); thus
the changes are propogated to all types in the TYPE_CHAIN.
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index 86b1d62..4f44e27 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -1621,6 +1621,8 @@ extern struct type *make_cv_type (int, int, struct type *, struct type **);
extern struct type *make_restrict_type (struct type *);
+extern struct type *make_unqualified_type (struct type *);
+
extern void replace_type (struct type *, struct type *);
extern int address_space_name_to_int (struct gdbarch *, char *);
--
1.9.0