add make_unqualified_type

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.

gdb/ChangeLog
2014-12-12  Tom Tromey  <tromey@redhat.com>

	* gdbtypes.h (make_unqualified_type): Declare.
	* gdbtypes.c (make_unqualified_type): New function.
This commit is contained in:
Tom Tromey 2014-05-14 13:52:04 -06:00 committed by Jan Kratochvil
parent 4ff709eb44
commit f166002710
3 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,8 @@
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.

View File

@ -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.

View File

@ -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 *);