aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/gdbtypes.c13
-rw-r--r--gdb/gdbtypes.h2
3 files changed, 20 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 56ebab0..0fc1035 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2014-12-12 Tom Tromey <tromey@redhat.com>
+ * gdbtypes.h (make_unqualified_type): Declare.
+ * gdbtypes.c (make_unqualified_type): New function.
+
+2014-12-12 Tom Tromey <tromey@redhat.com>
+
* ui-file.h (ui_file_write_for_put): Declare.
* ui-file.c (ui_file_write_for_put): New function.
* mi/mi-out.c (do_write): Remove.
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index 611a0e7..7d842e9 100644
--- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c
@@ -703,6 +703,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 a56f543..b4d4f3a 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -1632,6 +1632,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 *);