GDB (API)
|
#include "gdbtypes.h"
Public Attributes | |
struct type * | pointer_type |
struct type * | reference_type |
struct type * | rvalue_reference_type |
struct type * | chain |
unsigned | align_log2: TYPE_ALIGN_BITS |
unsigned | m_instance_flags: 9 |
ULONGEST | m_length |
struct main_type * | main_type |
A `‘struct type’' describes a particular instance of a type, with some particular qualification.
Definition at line 921 of file gdbtypes.h.
void type::add_dyn_prop | ( | dynamic_prop_node_kind | kind, |
dynamic_prop | prop | ||
) |
Given a dynamic property PROP of a given KIND, add this dynamic property to this type.
This function assumes that this type is objfile-owned.
gdbarch * type::arch | ( | ) | const |
|
inline |
Definition at line 1353 of file gdbtypes.h.
|
inline |
Return the bit offset for this integer type. Only valid for integer (TYPE_SPECIFIC_INT) types.
Definition at line 1387 of file gdbtypes.h.
|
inline |
Return the logical (bit) size for this integer type. Only valid for integer (TYPE_SPECIFIC_INT) types.
Definition at line 1379 of file gdbtypes.h.
|
inline |
Return true if this is an integer type whose logical (bit) size differs from its storage size; false otherwise. Always return false for non-integer (i.e., non-TYPE_SPECIFIC_INT) types.
Definition at line 1371 of file gdbtypes.h.
|
inline |
Definition at line 1053 of file gdbtypes.h.
|
inline |
Definition at line 1028 of file gdbtypes.h.
|
inline |
Definition at line 927 of file gdbtypes.h.
dynamic_prop * type::dyn_prop | ( | dynamic_prop_node_kind | kind | ) | const |
Return the dynamic property of the requested KIND from this type's list of dynamic properties.
|
inline |
Definition at line 1213 of file gdbtypes.h.
|
inline |
Definition at line 983 of file gdbtypes.h.
|
inline |
Definition at line 977 of file gdbtypes.h.
|
inline |
Assuming that THIS is a TYPE_CODE_FIXED_POINT, return a reference to this type's fixed_point_info.
Definition at line 1269 of file gdbtypes.h.
const gdb_mpq & type::fixed_point_scaling_factor | ( | ) |
Assuming that THIS is a TYPE_CODE_FIXED_POINT, return its scaling factor.
struct type * type::fixed_point_type_base_type | ( | ) |
Assuming that THIS is a TYPE_CODE_FIXED_POINT, return its base type.
In other words, this returns the type after having peeled all intermediate type layers (such as TYPE_CODE_RANGE, for instance). The TYPE_CODE of the type returned is guaranteed to be a TYPE_CODE_FIXED_POINT.
|
inline |
Definition at line 1077 of file gdbtypes.h.
|
inline |
Definition at line 1135 of file gdbtypes.h.
|
inline |
Definition at line 995 of file gdbtypes.h.
|
inline |
Definition at line 1016 of file gdbtypes.h.
|
inline |
Definition at line 1230 of file gdbtypes.h.
|
inline |
Definition at line 1199 of file gdbtypes.h.
|
inline |
Definition at line 1244 of file gdbtypes.h.
|
inline |
Definition at line 1179 of file gdbtypes.h.
|
inline |
Definition at line 1256 of file gdbtypes.h.
|
inline |
Definition at line 1316 of file gdbtypes.h.
|
inline |
Definition at line 1394 of file gdbtypes.h.
|
inline |
Definition at line 1122 of file gdbtypes.h.
|
inline |
Definition at line 1091 of file gdbtypes.h.
|
inline |
Definition at line 1063 of file gdbtypes.h.
|
inline |
Definition at line 1149 of file gdbtypes.h.
|
inline |
Definition at line 954 of file gdbtypes.h.
|
inline |
Definition at line 939 of file gdbtypes.h.
|
inline |
Definition at line 965 of file gdbtypes.h.
|
inline |
Definition at line 1342 of file gdbtypes.h.
void type::remove_dyn_prop | ( | dynamic_prop_node_kind | kind | ) |
Remove dynamic property of kind KIND from this type, if it exists.
|
inline |
Definition at line 1046 of file gdbtypes.h.
|
inline |
Definition at line 933 of file gdbtypes.h.
|
inline |
Definition at line 1218 of file gdbtypes.h.
|
inline |
Definition at line 990 of file gdbtypes.h.
|
inline |
Assuming that THIS is a TYPE_CODE_FIXED_POINT, set this type's fixed_point_info to INFO.
Definition at line 1280 of file gdbtypes.h.
|
inline |
Definition at line 1082 of file gdbtypes.h.
|
inline |
Definition at line 1140 of file gdbtypes.h.
|
inline |
Definition at line 1010 of file gdbtypes.h.
|
inline |
Definition at line 1022 of file gdbtypes.h.
|
inline |
Definition at line 1235 of file gdbtypes.h.
|
inline |
Definition at line 1204 of file gdbtypes.h.
|
inline |
Definition at line 1249 of file gdbtypes.h.
|
inline |
Definition at line 1184 of file gdbtypes.h.
|
inline |
Definition at line 1261 of file gdbtypes.h.
|
inline |
Definition at line 1127 of file gdbtypes.h.
|
inline |
Definition at line 1096 of file gdbtypes.h.
|
inline |
Definition at line 1068 of file gdbtypes.h.
|
inline |
Definition at line 1154 of file gdbtypes.h.
|
inline |
Definition at line 959 of file gdbtypes.h.
|
inline |
Definition at line 945 of file gdbtypes.h.
|
inline |
Definition at line 971 of file gdbtypes.h.
|
inline |
Definition at line 1331 of file gdbtypes.h.
|
inline |
Definition at line 1322 of file gdbtypes.h.
|
inline |
Definition at line 1169 of file gdbtypes.h.
|
inline |
Definition at line 1112 of file gdbtypes.h.
|
inline |
Definition at line 1005 of file gdbtypes.h.
|
inline |
Definition at line 1164 of file gdbtypes.h.
|
inline |
Definition at line 1107 of file gdbtypes.h.
|
inline |
Definition at line 1000 of file gdbtypes.h.
unsigned type::align_log2 |
The alignment for this type. Zero means that the alignment was not specified in the debug info. Note that this is stored in a funny way: as the log base 2 (plus 1) of the alignment; so a value of 1 means the alignment is 1, and a value of 9 means the alignment is 256.
Definition at line 1429 of file gdbtypes.h.
struct type* type::chain |
Variant chain. This points to a type that differs from this one only in qualifiers and length. Currently, the possible qualifiers are const, volatile, code-space, data-space, and address class. The length may differ only when one of the address class flags are set. The variants are linked in a circular ring and share MAIN_TYPE.
Definition at line 1421 of file gdbtypes.h.
unsigned type::m_instance_flags |
Flags specific to this instance of the type, indicating where on the ring we are.
For TYPE_CODE_TYPEDEF the flags of the typedef type should be binary or-ed with the target type, with a special case for address class and space class. For example if this typedef does not specify any new qualifiers, TYPE_INSTANCE_FLAGS is 0 and the instance flags are completely inherited from the target type. No qualifiers can be cleared by the typedef. See also check_typedef.
Definition at line 1441 of file gdbtypes.h.
ULONGEST type::m_length |
Length of storage for a value of this type. The value is the expression in host bytes of what sizeof(type) would return. This size includes padding. For example, an i386 extended-precision floating point value really only occupies ten bytes, but most ABI's declare its size to be 12 bytes, to preserve alignment. A ‘struct type’ representing such a floating-point type would have a ‘length’ value of 12, even though the last two bytes are unused.
Since this field is expressed in host bytes, its value is appropriate to pass to memcpy and such (it is assumed that GDB itself always runs on an 8-bits addressable architecture). However, when using it for target address arithmetic (e.g. adding it to a target address), the type_length_units function should be used in order to get the length expressed in target addressable memory units.
Definition at line 1459 of file gdbtypes.h.
struct main_type* type::main_type |
Core type, shared by a group of qualified types.
Definition at line 1463 of file gdbtypes.h.
struct type* type::pointer_type |
Type that is a pointer to this type. NULL if no such pointer-to type is known yet. The debugger may add the address of such a type if it has to construct one later.
Definition at line 1404 of file gdbtypes.h.
struct type* type::reference_type |
C++: also need a reference type.
Definition at line 1408 of file gdbtypes.h.
struct type* type::rvalue_reference_type |
A C++ rvalue reference type added in C++11.
Definition at line 1412 of file gdbtypes.h.