GDB (xrefs)
|
#include "defs.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "expression.h"
#include "parser-defs.h"
#include "language.h"
#include "varobj.h"
#include "c-lang.h"
#include "valprint.h"
#include "macroscope.h"
#include "charset.h"
#include "demangle.h"
#include "cp-abi.h"
#include "cp-support.h"
#include "gdb_obstack.h"
#include <ctype.h>
#include "gdbcore.h"
Go to the source code of this file.
Macros | |
#define | ADVANCE |
Functions | |
void | _initialize_c_language (void) |
static const char * | charset_for_string_type (enum c_string_type str_type, struct gdbarch *gdbarch) |
static enum c_string_type | classify_type (struct type *elttype, struct gdbarch *gdbarch, const char **encoding) |
void | c_emit_char (int c, struct type *type, struct ui_file *stream, int quoter) |
void | c_printchar (int c, struct type *type, struct ui_file *stream) |
void | c_printstr (struct ui_file *stream, struct type *type, const gdb_byte *string, unsigned int length, const char *user_encoding, int force_ellipses, const struct value_print_options *options) |
void | c_get_string (struct value *value, gdb_byte **buffer, int *length, struct type **char_type, const char **charset) |
static char * | convert_ucn (char *p, char *limit, const char *dest_charset, struct obstack *output, int length) |
static void | emit_numeric_character (struct type *type, unsigned long value, struct obstack *output) |
static char * | convert_octal (struct type *type, char *p, char *limit, struct obstack *output) |
static char * | convert_hex (struct type *type, char *p, char *limit, struct obstack *output) |
static char * | convert_escape (struct type *type, const char *dest_charset, char *p, char *limit, struct obstack *output) |
static void | parse_one_string (struct obstack *output, char *data, int len, const char *dest_charset, struct type *type) |
struct value * | evaluate_subexp_c (struct type *expect_type, struct expression *exp, int *pos, enum noside noside) |
void | c_language_arch_info (struct gdbarch *gdbarch, struct language_arch_info *lai) |
static void | cplus_language_arch_info (struct gdbarch *gdbarch, struct language_arch_info *lai) |
Variables | |
const struct op_print | c_op_print_tab [] |
const struct exp_descriptor | exp_descriptor_c |
const struct language_defn | c_language_defn |
const struct language_defn | cplus_language_defn |
const struct language_defn | asm_language_defn |
const struct language_defn | minimal_language_defn |
#define ADVANCE |
Definition at line 467 of file c-lang.c.
Referenced by convert_escape().
enum c_primitive_types |
void _initialize_c_language | ( | void | ) |
Definition at line 1096 of file c-lang.c.
References add_language().
Definition at line 146 of file c-lang.c.
References classify_type(), encoding, generic_emit_char(), and get_type_arch().
void c_get_string | ( | struct value * | value, |
gdb_byte ** | buffer, | ||
int * | length, | ||
struct type ** | char_type, | ||
const char ** | charset | ||
) |
Definition at line 239 of file c-lang.c.
References _, c_textual_element_type(), check_typedef(), classify_type(), err, error(), extract_unsigned_integer(), gdbarch_byte_order(), get_discrete_bounds(), get_type_arch(), type::length, lval_internalvar, make_cleanup(), memory_error(), not_lval, read_string(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_NFIELDS, TYPE_TARGET_TYPE, type_to_string(), UINT_MAX, value_as_address(), value_contents(), VALUE_LVAL, value_type(), xfree(), and xmalloc().
void c_language_arch_info | ( | struct gdbarch * | gdbarch, |
struct language_arch_info * | lai | ||
) |
Definition at line 785 of file c-lang.c.
References language_arch_info::bool_type_default, builtin_type::builtin_char, builtin_type::builtin_complex, builtin_type::builtin_decdouble, builtin_type::builtin_decfloat, builtin_type::builtin_declong, builtin_type::builtin_double, builtin_type::builtin_double_complex, builtin_type::builtin_float, builtin_type::builtin_int, builtin_type::builtin_long, builtin_type::builtin_long_double, builtin_type::builtin_long_long, builtin_type::builtin_short, builtin_type::builtin_signed_char, builtin_type(), builtin_type::builtin_unsigned_char, builtin_type::builtin_unsigned_int, builtin_type::builtin_unsigned_long, builtin_type::builtin_unsigned_long_long, builtin_type::builtin_unsigned_short, builtin_type::builtin_void, c_primitive_type_char, c_primitive_type_complex, c_primitive_type_decdouble, c_primitive_type_decfloat, c_primitive_type_declong, c_primitive_type_double, c_primitive_type_double_complex, c_primitive_type_float, c_primitive_type_int, c_primitive_type_long, c_primitive_type_long_double, c_primitive_type_long_long, c_primitive_type_short, c_primitive_type_signed_char, c_primitive_type_unsigned_char, c_primitive_type_unsigned_int, c_primitive_type_unsigned_long, c_primitive_type_unsigned_long_long, c_primitive_type_unsigned_short, c_primitive_type_void, GDBARCH_OBSTACK_CALLOC, nr_c_primitive_types, language_arch_info::primitive_type_vector, and language_arch_info::string_char_type.
Definition at line 156 of file c-lang.c.
References C_CHAR, C_CHAR_16, C_CHAR_32, C_WIDE_CHAR, classify_type(), fputc_filtered(), get_type_arch(), and LA_EMIT_CHAR.
Referenced by dwarf2_compute_name().
void c_printstr | ( | struct ui_file * | stream, |
struct type * | type, | ||
const gdb_byte * | string, | ||
unsigned int | length, | ||
const char * | user_encoding, | ||
int | force_ellipses, | ||
const struct value_print_options * | options | ||
) |
Definition at line 189 of file c-lang.c.
References C_CHAR, C_STRING, C_STRING_16, C_STRING_32, C_WIDE_STRING, classify_type(), encoding, fputs_filtered(), generic_printstr(), and get_type_arch().
|
static |
Definition at line 44 of file c-lang.c.
References _, C_CHAR, C_STRING, C_STRING_16, C_STRING_32, C_WIDE_STRING, gdbarch_byte_order(), internal_error(), target_charset(), and target_wide_charset().
Referenced by classify_type(), and evaluate_subexp_c().
|
static |
Definition at line 76 of file c-lang.c.
References C_CHAR, C_CHAR_16, C_CHAR_32, C_WIDE_CHAR, charset_for_string_type(), CHECK_TYPEDEF, check_typedef(), name, TYPE_CODE, TYPE_CODE_CHAR, TYPE_CODE_TYPEDEF, TYPE_NAME, and TYPE_TARGET_TYPE.
Referenced by c_emit_char(), c_get_string(), c_printchar(), and c_printstr().
|
static |
Definition at line 482 of file c-lang.c.
References _, ADVANCE, convert_hex(), convert_octal(), convert_ucn(), error(), and type::length.
Referenced by parse_one_string().
|
static |
Definition at line 451 of file c-lang.c.
References emit_numeric_character(), and host_hex_value().
Referenced by convert_escape().
|
static |
Definition at line 426 of file c-lang.c.
References emit_numeric_character(), and host_hex_value().
Referenced by convert_escape().
|
static |
Definition at line 384 of file c-lang.c.
References convert_between_encodings(), host_hex_value(), and translit_none.
Referenced by convert_escape().
|
static |
Definition at line 899 of file c-lang.c.
References language_arch_info::bool_type_default, language_arch_info::bool_type_symbol, builtin_type::builtin_bool, builtin_type::builtin_char, builtin_type::builtin_complex, builtin_type::builtin_decdouble, builtin_type::builtin_decfloat, builtin_type::builtin_declong, builtin_type::builtin_double, builtin_type::builtin_double_complex, builtin_type::builtin_float, builtin_type::builtin_int, builtin_type::builtin_long, builtin_type::builtin_long_double, builtin_type::builtin_long_long, builtin_type::builtin_short, builtin_type::builtin_signed_char, builtin_type(), builtin_type::builtin_unsigned_char, builtin_type::builtin_unsigned_int, builtin_type::builtin_unsigned_long, builtin_type::builtin_unsigned_long_long, builtin_type::builtin_unsigned_short, builtin_type::builtin_void, cplus_primitive_type_bool, cplus_primitive_type_char, cplus_primitive_type_complex, cplus_primitive_type_decdouble, cplus_primitive_type_decfloat, cplus_primitive_type_declong, cplus_primitive_type_double, cplus_primitive_type_double_complex, cplus_primitive_type_float, cplus_primitive_type_int, cplus_primitive_type_long, cplus_primitive_type_long_double, cplus_primitive_type_long_long, cplus_primitive_type_short, cplus_primitive_type_signed_char, cplus_primitive_type_unsigned_char, cplus_primitive_type_unsigned_int, cplus_primitive_type_unsigned_long, cplus_primitive_type_unsigned_long_long, cplus_primitive_type_unsigned_short, cplus_primitive_type_void, GDBARCH_OBSTACK_CALLOC, nr_cplus_primitive_types, language_arch_info::primitive_type_vector, and language_arch_info::string_char_type.
|
static |
Definition at line 410 of file c-lang.c.
References pack_long(), and TYPE_LENGTH.
Referenced by convert_hex(), and convert_octal().
struct value* evaluate_subexp_c | ( | struct type * | expect_type, |
struct expression * | exp, | ||
int * | pos, | ||
enum noside noside | |||
) |
Definition at line 566 of file c-lang.c.
References _, allocate_value(), BYTES_TO_EXP_ELEM, C_CHAR, C_STRING, C_STRING_16, C_STRING_32, C_WIDE_STRING, charset_for_string_type(), check_typedef(), do_cleanups(), expression::elts, error(), EVAL_SKIP, evaluate_subexp_standard(), expression::gdbarch, get_discrete_bounds(), internal_error(), expression::language_defn, language_string_char_type(), len, exp_element::longconst, longest_to_int(), lookup_typename(), make_cleanup_obstack_free(), exp_element::opcode, parse_one_string(), exp_element::string, type, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_CHAR, TYPE_CODE_INT, TYPE_INDEX_TYPE, TYPE_LENGTH, TYPE_TARGET_TYPE, unpack_long(), value_contents_raw(), value_cstring(), and value_from_longest().
Referenced by evaluate_subexp_opencl().
|
static |
Definition at line 535 of file c-lang.c.
References convert_between_encodings(), convert_escape(), host_charset(), len, and translit_none.
Referenced by evaluate_subexp_c().
const struct language_defn asm_language_defn |
const struct language_defn c_language_defn |
const struct language_defn cplus_language_defn |
const struct exp_descriptor exp_descriptor_c |
const struct language_defn minimal_language_defn |