GDB (xrefs)
|
#include "defs.h"
#include "gdb_obstack.h"
#include "bfd.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "expression.h"
#include "value.h"
#include "gdbcore.h"
#include "target.h"
#include "language.h"
#include "demangle.h"
#include "c-lang.h"
#include "typeprint.h"
#include "cp-abi.h"
#include "jv-lang.h"
#include "gdb_string.h"
#include <errno.h>
#include "cp-support.h"
Go to the source code of this file.
void c_print_type | ( | struct type * | type, |
const char * | varstring, | ||
struct ui_file * | stream, | ||
int | show, | ||
int | level, | ||
const struct type_print_options * | flags | ||
) |
Definition at line 82 of file c-typeprint.c.
References c_type_print_base(), c_type_print_varspec_prefix(), c_type_print_varspec_suffix(), CHECK_TYPEDEF, code, find_typedef_in_hash(), fputs_filtered(), strchr(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_FUNC, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD, TYPE_CODE_METHODPTR, TYPE_CODE_PTR, TYPE_CODE_REF, TYPE_NAME, and TYPE_VECTOR.
Referenced by ada_print_type(), c_type_print_args(), c_type_print_base(), c_type_print_template_args(), cp_type_print_method_args(), dwarf2_compute_name(), gnuv3_print_method_ptr(), go_print_type(), and opencl_print_type().
void c_print_typedef | ( | struct type * | type, |
struct symbol * | new_symbol, | ||
struct ui_file * | stream | ||
) |
Definition at line 145 of file c-typeprint.c.
References CHECK_TYPEDEF, fprintf_filtered(), SYMBOL_LINKAGE_NAME, SYMBOL_PRINT_NAME, SYMBOL_TYPE, TYPE_CODE, TYPE_CODE_TYPEDEF, TYPE_NAME, and type_print().
void c_type_print_args | ( | struct type * | type, |
struct ui_file * | stream, | ||
int | linkage_name, | ||
enum language language | , | ||
const struct type_print_options * | flags | ||
) |
Definition at line 461 of file c-typeprint.c.
References c_print_type(), fprintf_filtered(), java_print_type(), language_cplus, language_java, make_cv_type(), TYPE_FIELD_ARTIFICIAL, TYPE_FIELD_TYPE, TYPE_NFIELDS, TYPE_PROTOTYPED, TYPE_VARARGS, and wrap_here().
Referenced by c_type_print_varspec_suffix(), and dwarf2_compute_name().
void c_type_print_base | ( | struct type * | type, |
struct ui_file * | stream, | ||
int | show, | ||
int | level, | ||
const struct type_print_options * | flags | ||
) |
Definition at line 830 of file c-typeprint.c.
References _, add_template_parameters(), c_print_type(), c_type_print_base(), c_type_print_modifier(), c_type_print_template_args(), CHECK_TYPEDEF, copy_typedef_hash(), cp_type_print_derivation_info(), cp_type_print_method_args(), create_typedef_hash(), do_cleanups(), field_is_static(), flags, fprintf_filtered(), fprintfi_filtered(), fputs_filtered(), gdb_assert, gdb_demangle(), gdb_mangle_name(), get_vptr_fieldno(), cleanup_check::is_constructor(), is_constructor_name(), is_destructor_name(), is_type_conversion_operator(), len, type::length, type_print_options::local_typedefs, LONGEST, make_cleanup(), make_cleanup_free_typedef_hash(), name, null_cleanup(), p, plongest(), type_print_options::print_methods, print_name_maybe_canonical(), print_spaces_filtered(), type_print_options::print_typedefs, QUIT, type_print_options::raw, recursively_update_typedef_hash(), remove_qualifiers(), strstr(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_ENUM, TYPE_CODE_ERROR, TYPE_CODE_FUNC, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD, TYPE_CODE_METHODPTR, TYPE_CODE_NAMESPACE, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_STRUCT, TYPE_CODE_TYPEDEF, TYPE_CODE_UNDEF, TYPE_CODE_UNION, TYPE_CODE_VOID, TYPE_DECLARED_CLASS, TYPE_ERROR_NAME, TYPE_FIELD, TYPE_FIELD_ARTIFICIAL, TYPE_FIELD_BITSIZE, TYPE_FIELD_ENUMVAL, TYPE_FIELD_NAME, TYPE_FIELD_PACKED, TYPE_FIELD_PRIVATE, TYPE_FIELD_PROTECTED, TYPE_FIELD_TYPE, TYPE_FN_FIELD_ARTIFICIAL, TYPE_FN_FIELD_CONSTRUCTOR, TYPE_FN_FIELD_PHYSNAME, TYPE_FN_FIELD_PRIVATE, TYPE_FN_FIELD_PROTECTED, TYPE_FN_FIELD_STATIC_P, TYPE_FN_FIELD_STUB, TYPE_FN_FIELD_TYPE, TYPE_FN_FIELD_VIRTUAL_P, TYPE_FN_FIELDLIST1, TYPE_FN_FIELDLIST_LENGTH, TYPE_FN_FIELDLIST_NAME, TYPE_N_BASECLASSES, TYPE_NAME, type_name_no_tag(), TYPE_NFIELDS, TYPE_NFN_FIELDS, TYPE_STUB, TYPE_TAG_NAME, TYPE_TARGET_TYPE, TYPE_TYPEDEF_FIELD_COUNT, TYPE_TYPEDEF_FIELD_NAME, TYPE_TYPEDEF_FIELD_TYPE, wrap_here(), xfree(), and xmalloc().
Referenced by c_print_type(), c_type_print_base(), c_type_print_varspec_prefix(), cp_print_class_member(), and java_type_print_base().
static void c_type_print_modifier | ( | struct type * | type, |
struct ui_file * | stream, | ||
int | need_pre_space, | ||
int | need_post_space | ||
) | [static] |
Definition at line 402 of file c-typeprint.c.
References address_space_int_to_name(), fprintf_filtered(), get_type_arch(), TYPE_CODE, TYPE_CODE_REF, TYPE_CONST, TYPE_INSTANCE_FLAGS, TYPE_RESTRICT, and TYPE_VOLATILE.
Referenced by c_type_print_base(), and c_type_print_varspec_prefix().
static void c_type_print_template_args | ( | const struct type_print_options * | flags, |
struct type * | type, | ||
struct ui_file * | stream | ||
) | [static] |
Definition at line 775 of file c-typeprint.c.
References _, c_print_type(), fprintf_filtered(), fputs_filtered(), LOC_TYPEDEF, type_print_options::raw, SYMBOL_CLASS, SYMBOL_LINKAGE_NAME, SYMBOL_TYPE, TYPE_N_TEMPLATE_ARGUMENTS, TYPE_TEMPLATE_ARGUMENT, and wrap_here().
Referenced by c_type_print_base().
static void c_type_print_varspec_prefix | ( | struct type * | type, |
struct ui_file * | stream, | ||
int | show, | ||
int | passed_a_ptr, | ||
int | need_post_space, | ||
const struct type_print_options * | flags | ||
) | [static] |
Definition at line 292 of file c-typeprint.c.
References _, c_type_print_base(), c_type_print_modifier(), error(), fprintf_filtered(), name, print_name_maybe_canonical(), QUIT, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_COMPLEX, TYPE_CODE_DECFLOAT, TYPE_CODE_ENUM, TYPE_CODE_ERROR, TYPE_CODE_FLT, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD, TYPE_CODE_METHODPTR, TYPE_CODE_NAMESPACE, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_SET, TYPE_CODE_STRING, TYPE_CODE_STRUCT, TYPE_CODE_TYPEDEF, TYPE_CODE_UNDEF, TYPE_CODE_UNION, TYPE_CODE_VOID, TYPE_DOMAIN_TYPE, TYPE_NAME, type_name_no_tag(), and TYPE_TARGET_TYPE.
Referenced by c_print_type().
void c_type_print_varspec_suffix | ( | struct type * | type, |
struct ui_file * | stream, | ||
int | show, | ||
int | passed_a_ptr, | ||
int | demangled_args, | ||
const struct type_print_options * | flags | ||
) |
Definition at line 666 of file c-typeprint.c.
References _, c_type_print_args(), c_type_print_varspec_suffix(), current_language, error(), fprintf_filtered(), get_array_bounds(), language_defn::la_language, LONGEST, plongest(), QUIT, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_COMPLEX, TYPE_CODE_DECFLOAT, TYPE_CODE_ENUM, TYPE_CODE_ERROR, TYPE_CODE_FLT, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD, TYPE_CODE_METHODPTR, TYPE_CODE_NAMESPACE, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_SET, TYPE_CODE_STRING, TYPE_CODE_STRUCT, TYPE_CODE_TYPEDEF, TYPE_CODE_UNDEF, TYPE_CODE_UNION, TYPE_CODE_VOID, TYPE_NAME, TYPE_TARGET_TYPE, and TYPE_VECTOR.
Referenced by c_print_type(), c_type_print_varspec_suffix(), and java_print_type().
static void cp_type_print_derivation_info | ( | struct ui_file * | stream, |
struct type * | type, | ||
const struct type_print_options * | flags | ||
) | [static] |
Definition at line 186 of file c-typeprint.c.
References BASETYPE_VIA_PUBLIC, BASETYPE_VIA_VIRTUAL, fprintf_filtered(), fputs_filtered(), name, print_name_maybe_canonical(), TYPE_BASECLASS, TYPE_FIELD_PROTECTED, TYPE_N_BASECLASSES, type_name_no_tag(), and wrap_here().
Referenced by c_type_print_base().
static void cp_type_print_method_args | ( | struct type * | mtype, |
const char * | prefix, | ||
const char * | varstring, | ||
int | staticp, | ||
struct ui_file * | stream, | ||
const struct type_print_options * | flags | ||
) | [static] |
Definition at line 217 of file c-typeprint.c.
References c_print_type(), current_language, fprintf_filtered(), fprintf_symbol_filtered(), fputs_filtered(), gdb_assert, language_defn::la_language, language_cplus, TYPE_CODE, TYPE_CODE_PTR, TYPE_CONST, TYPE_FIELDS, TYPE_NFIELDS, TYPE_RESTRICT, TYPE_TARGET_TYPE, TYPE_VARARGS, TYPE_VOLATILE, and wrap_here().
Referenced by c_type_print_base().
static const char* find_typedef_for_canonicalize | ( | struct type * | t, |
void * | data | ||
) | [static] |
Definition at line 53 of file c-typeprint.c.
References find_typedef_in_hash().
Referenced by print_name_maybe_canonical().
static int is_type_conversion_operator | ( | struct type * | type, |
int | i, | ||
int | j | ||
) | [static] |
Definition at line 530 of file c-typeprint.c.
References name, strchr(), and TYPE_FN_FIELDLIST_NAME.
Referenced by c_type_print_base().
static void print_name_maybe_canonical | ( | const char * | name, |
const struct type_print_options * | flags, | ||
struct ui_file * | stream | ||
) | [static] |
Definition at line 62 of file c-typeprint.c.
References cp_canonicalize_string_full(), find_typedef_for_canonicalize(), fputs_filtered(), type_print_options::raw, and xfree().
Referenced by c_type_print_base(), c_type_print_varspec_prefix(), and cp_type_print_derivation_info().
static char* remove_qualifiers | ( | char * | qid | ) | [static] |