21#include "gdbsupport/gdb_obstack.h"
38 struct ui_file *stream,
int show,
int level,
66 struct ui_file *stream,
int show,
int level);
96 case TYPE_CODE_STRUCT:
103 case TYPE_CODE_TYPEDEF:
107 case TYPE_CODE_ARRAY:
119 case TYPE_CODE_METHOD:
127 case TYPE_CODE_UNION:
143 case TYPE_CODE_ERROR:
147 case TYPE_CODE_RANGE:
271 gdb_printf (stream,
"%s %s", s, _(
"is unknown"));
291 for (i = 0; i < len; i++)
310 struct ui_file *stream,
int show,
int level,
340 LONGEST previous_high = 0;
345 if (
type->
code () == TYPE_CODE_STRUCT)
362 && previous_high + 1 !=
range->bounds ()->low.const_val ())
364 previous_high =
range->bounds ()->high.const_val ();
387 *lowp = -(1 << (
type->
length () * TARGET_CHAR_BIT - 1));
411 if (
type->
code () == TYPE_CODE_STRUCT)
418 target =
range->target_type ();
424 return (l1 == l2 && h1 == h2);
425 error (_(
"long_set failed to find discrete bounds for its subtype"));
428 error (_(
"expecting long_set"));
436 struct type *of_type;
462 stream, show - 1, level, 0);
467 stream, show - 1, level, 1);
486 if (
type->
code () == TYPE_CODE_STRUCT)
522 "", stream, 0, level,
flags);
536 if (!startswith (
type->
name (),
"$$"))
546 if (
type->
code () == TYPE_CODE_STRUCT)
548 else if (
type->
code () == TYPE_CODE_UNION)
556 if (
type->
code () == TYPE_CODE_STRUCT)
558 else if (
type->
code () == TYPE_CODE_UNION)
560 gdb_printf (stream, _(
"CASE <variant> OF\n"));
572 stream, 0, level + 4,
flags);
601 else if (show > 0 ||
type->
name () == NULL)
606 for (i = 0; i < len; i++)
ui_file_style style() const
void print_typedef(struct type *type, struct symbol *new_symbol, struct ui_file *stream) const override
virtual void wrap_here(int indent)
cli_style_option variable_name_style
cli_style_option metadata_style
bool get_discrete_bounds(struct type *type, LONGEST *lowp, LONGEST *highp)
struct type * check_typedef(struct type *type)
#define TYPE_N_BASECLASSES(thistype)
mach_port_t kern_return_t mach_port_t mach_msg_type_name_t msgportsPoly mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int flags
static const char * range
int get_long_set_bounds(struct type *type, LONGEST *low, LONGEST *high)
static void m2_procedure(struct type *, struct ui_file *, int, int, const struct type_print_options *)
static void m2_array(struct type *, struct ui_file *, int, int, const struct type_print_options *)
static void m2_unknown(const char *s, struct type *type, struct ui_file *stream, int show, int level)
static void m2_print_bounds(struct type *type, struct ui_file *stream, int show, int level, int print_high)
static void m2_enum(struct type *, struct ui_file *, int, int)
static bool m2_get_discrete_bounds(struct type *type, LONGEST *lowp, LONGEST *highp)
int m2_is_unbounded_array(struct type *type)
static void m2_range(struct type *, struct ui_file *, int, int, const struct type_print_options *)
int m2_is_long_set_of_type(struct type *type, struct type **of_type)
static int m2_long_set(struct type *type, struct ui_file *stream, int show, int level, const struct type_print_options *flags)
static void m2_record_fields(struct type *type, struct ui_file *stream, int show, int level, const struct type_print_options *flags)
static int m2_unbounded_array(struct type *type, struct ui_file *stream, int show, int level, const struct type_print_options *flags)
static void m2_type_name(struct type *type, struct ui_file *stream)
static void m2_ref(struct type *, struct ui_file *, int, int, const struct type_print_options *)
static void m2_pointer(struct type *, struct ui_file *, int, int, const struct type_print_options *)
void m2_print_type(struct type *type, const char *varstring, struct ui_file *stream, int show, int level, const struct type_print_options *flags)
static void m2_union(struct type *, struct ui_file *)
static void m2_typedef(struct type *, struct ui_file *, int, int, const struct type_print_options *)
static void m2_short_set(struct type *type, struct ui_file *stream, int show, int level)
int m2_is_long_set(struct type *type)
static struct symbol * new_symbol(struct die_info *, struct type *, struct dwarf2_cu *, struct symbol *=NULL)
LONGEST const_val() const
LONGEST loc_enumval() const
const char * name() const
unsigned int bitsize() const
struct type * type() const
const char * print_name() const
const char * linkage_name() const
struct type * type() const
struct type * target_type() const
struct field & field(int idx) const
unsigned int num_fields() const
range_bounds * bounds() const
const char * name() const
type * index_type() const
void print_type_scalar(struct type *type, LONGEST val, struct ui_file *stream)
void type_print(struct type *type, const char *varstring, struct ui_file *stream, int show)
void type_print_unknown_return_type(struct ui_file *stream)
void print_spaces(int n, struct ui_file *stream)
void gdb_printf(struct ui_file *stream, const char *format,...)
void fputs_styled(const char *linebuffer, const ui_file_style &style, struct ui_file *stream)
void gdb_puts(const char *linebuffer, struct ui_file *stream)