TYPE_CODE_ENUM, /* Enumeration type */
TYPE_CODE_FUNC, /* Function type */
TYPE_CODE_INT, /* Integer type */
- TYPE_CODE_FLT, /* Floating type */
- TYPE_CODE_VOID, /* Void type (values zero length) */
+
+ /* Floating type. This is *NOT* a complex type. Complex types, when
+ we have them, will have their own type code (or TYPE_CODE_ERROR if
+ we can parse a complex type but not manipulate it). There are parts
+ of GDB which bogusly assume that TYPE_CODE_FLT can mean complex. */
+ TYPE_CODE_FLT,
+
+ /* Void type (values zero length; the length field is ignored). */
+ TYPE_CODE_VOID,
+
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 */
- TYPE_CODE_ERROR, /* Unknown type */
+
+ /* 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. */
+ TYPE_CODE_ERROR,
/* C++ */
TYPE_CODE_MEMBER, /* Member type */
char *name;
- /* Length in bytes of storage for a value of this type */
+ /* Length, in units of TARGET_CHAR_BIT bits,
+ of storage for a value of this type */
unsigned length;
extern struct type *builtin_type_m2_real;
extern struct type *builtin_type_m2_bool;
-/* start-sanitize-chill */
/* Chill types */
extern struct type *builtin_type_chill_bool;
extern struct type *builtin_type_chill_long;
extern struct type *builtin_type_chill_ulong;
extern struct type *builtin_type_chill_real;
-/* end-sanitize-chill */
-/* LONG_LONG is defined if the host has "long long". */
+/* CC_HAS_LONG_LONG is defined if the host has "long long". */
-#ifdef LONG_LONG
+#ifdef CC_HAS_LONG_LONG
#define BUILTIN_TYPE_LONGEST builtin_type_long_long
#define BUILTIN_TYPE_UNSIGNED_LONGEST builtin_type_unsigned_long_long
-#else /* not LONG_LONG. */
+#else /* not CC_HAS_LONG_LONG. */
#define BUILTIN_TYPE_LONGEST builtin_type_long
#define BUILTIN_TYPE_UNSIGNED_LONGEST builtin_type_unsigned_long
-#endif /* not LONG_LONG. */
+#endif /* not CC_HAS_LONG_LONG. */
/* Maximum and minimum values of built-in types */
extern struct type *
builtin_type PARAMS ((char **));
-extern struct type *
-error_type PARAMS ((char **));
-
extern struct type *
lookup_typename PARAMS ((char *, struct block *, int));