X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fgdbtypes.h;h=bf21d9035a36aef91b320229a89f1de17cb6c786;hb=7bec77b47df60bd8242a51b3661c78eb596d40e8;hp=2c5685f789cc8d74734d08040fe962cce2a92025;hpb=e909f287a8340e2fe7a99f6fc1649801ec807768;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index 2c5685f789..bf21d9035a 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -91,8 +91,16 @@ enum type_code TYPE_CODE_SET, /* Pascal sets */ TYPE_CODE_RANGE, /* Range (integers within spec'd bounds) */ - TYPE_CODE_STRING, /* String types, distinct from array of char */ - TYPE_CODE_BITSTRING, /* String of bits, distinct from bool array */ + + /* A string type which is like an array of character but prints + differently (at least for CHILL). It does not contain a length + field as Pascal strings (for many Pascals, anyway) do; if we want + to deal with such strings, we should use a new type code. */ + TYPE_CODE_STRING, + + /* String of bits; like TYPE_CODE_SET but prints differently (at least + for CHILL). */ + TYPE_CODE_BITSTRING, /* Unknown type. The length field is valid if we were able to deduce that much about the type, or 0 if we don't even know that. */ @@ -463,6 +471,12 @@ allocate_cplus_struct_type PARAMS ((struct type *)); #define TYPE_NFIELDS(thistype) (thistype)->nfields #define TYPE_FIELDS(thistype) (thistype)->fields +#define TYPE_LOW_BOUND(range_type) TYPE_FIELD_BITPOS (range_type, 0) +#define TYPE_HIGH_BOUND(range_type) TYPE_FIELD_BITPOS (range_type, 1) +/* If TYPE_DUMMY_RANGE is true for a range type, it was allocated + by force_to_range_type. */ +#define TYPE_DUMMY_RANGE(type) ((type)->vptr_fieldno) + /* C++ */ #define TYPE_VPTR_BASETYPE(thistype) (thistype)->vptr_basetype