GDB (xrefs)
|
#include "defs.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "expression.h"
#include "parser-defs.h"
#include "language.h"
#include "c-lang.h"
#include "valprint.h"
#include "macroscope.h"
#include "gdb_assert.h"
#include "charset.h"
#include "gdb_string.h"
#include "demangle.h"
#include "cp-abi.h"
#include "cp-support.h"
#include "gdb_obstack.h"
#include <ctype.h>
#include "exceptions.h"
#include "gdbcore.h"
Go to the source code of this file.
#define ADVANCE |
Definition at line 450 of file c-lang.c.
Referenced by convert_escape().
enum c_primitive_types |
void _initialize_c_language | ( | void | ) |
void c_emit_char | ( | int | c, |
struct type * | type, | ||
struct ui_file * | stream, | ||
int | quoter | ||
) |
Definition at line 148 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 237 of file c-lang.c.
References _, c_textual_element_type(), check_typedef(), classify_type(), error(), extract_unsigned_integer(), gdbarch_byte_order(), get_discrete_bounds(), get_type_arch(), type::length, LONGEST, lval_internalvar, make_cleanup(), memcpy(), 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(), 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 768 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.
void c_printchar | ( | int | c, |
struct type * | type, | ||
struct ui_file * | stream | ||
) |
Definition at line 158 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 191 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 const char* charset_for_string_type | ( | enum c_string_type | str_type, |
struct gdbarch * | gdbarch | ||
) | [static] |
Definition at line 46 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 enum c_string_type classify_type | ( | struct type * | elttype, |
struct gdbarch * | gdbarch, | ||
const char ** | encoding | ||
) | [static] |
Definition at line 78 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 char* convert_escape | ( | struct type * | type, |
const char * | dest_charset, | ||
char * | p, | ||
char * | limit, | ||
struct obstack * | output | ||
) | [static] |
Definition at line 465 of file c-lang.c.
References _, ADVANCE, convert_hex(), convert_octal(), convert_ucn(), error(), and type::length.
Referenced by parse_one_string().
static char* convert_hex | ( | struct type * | type, |
char * | p, | ||
char * | limit, | ||
struct obstack * | output | ||
) | [static] |
Definition at line 434 of file c-lang.c.
References emit_numeric_character(), and host_hex_value().
Referenced by convert_escape().
static char* convert_octal | ( | struct type * | type, |
char * | p, | ||
char * | limit, | ||
struct obstack * | output | ||
) | [static] |
Definition at line 409 of file c-lang.c.
References emit_numeric_character(), and host_hex_value().
Referenced by convert_escape().
static char* convert_ucn | ( | char * | p, |
char * | limit, | ||
const char * | dest_charset, | ||
struct obstack * | output, | ||
int | length | ||
) | [static] |
Definition at line 367 of file c-lang.c.
References convert_between_encodings(), host_hex_value(), and translit_none.
Referenced by convert_escape().
static void cplus_language_arch_info | ( | struct gdbarch * | gdbarch, |
struct language_arch_info * | lai | ||
) | [static] |
Definition at line 878 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 void emit_numeric_character | ( | struct type * | type, |
unsigned long | value, | ||
struct obstack * | output | ||
) | [static] |
Definition at line 393 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 | |||
) | [read] |
Definition at line 549 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, longest_to_int(), lookup_typename(), make_cleanup_obstack_free(), memcpy(), 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 void parse_one_string | ( | struct obstack * | output, |
char * | data, | ||
int | len, | ||
const char * | dest_charset, | ||
struct type * | type | ||
) | [static] |
Definition at line 518 of file c-lang.c.
References convert_between_encodings(), convert_escape(), host_charset(), len, p, and translit_none.
Referenced by evaluate_subexp_c().
struct language_defn asm_language_defn |
struct language_defn c_language_defn |
struct op_print c_op_print_tab[] |
struct language_defn cplus_language_defn |
struct exp_descriptor exp_descriptor_c |