#define FT_UNSIGNED_BYTE 27
#define FT_TEMPLATE_ARG 28
-#define FT_NUM_MEMBERS 29 /* Highest FT_* above, plus one. */
+/* The following three fundamental types are for decimal floating point. */
+#define FT_DECFLOAT 29
+#define FT_DBL_PREC_DECFLOAT 30
+#define FT_EXT_PREC_DECFLOAT 31
+
+#define FT_NUM_MEMBERS 32 /* Highest FT_* above, plus one. */
/* Some macros for char-based bitfields. */
TYPE_CODE_TEMPLATE, /* C++ template */
TYPE_CODE_TEMPLATE_ARG, /* C++ template arg */
- TYPE_CODE_NAMESPACE /* C++ namespace. */
+ TYPE_CODE_NAMESPACE, /* C++ namespace. */
+
+ TYPE_CODE_DECFLOAT /* Decimal floating point. */
};
/* For now allow source to use TYPE_CODE_CLASS for C++ classes, as an
#define TYPE_FLAG_STUB_SUPPORTED (1 << 16)
#define TYPE_STUB_SUPPORTED(t) (TYPE_FLAGS (t) & TYPE_FLAG_STUB_SUPPORTED)
+/* Not textual. By default, GDB treats all single byte integers as
+ characters (or elements of strings) unless this flag is set. */
+
+#define TYPE_FLAG_NOTTEXT (1 << 17)
+#define TYPE_NOTTEXT(t) (TYPE_FLAGS (t) & TYPE_FLAG_NOTTEXT)
+
/* Array bound type. */
enum array_bound_type
{
/* Integral types. */
- /* We use this for the '/c' print format, because c_char is just a
+ /* We use these for the '/c' print format, because c_char is just a
one-byte integral type, which languages less laid back than C
will print as ... well, a one-byte integral type. */
struct type *builtin_true_char;
+ struct type *builtin_true_unsigned_char;
/* Implicit size/sign (based on the the architecture's ABI). */
struct type *builtin_void;
struct type *builtin_bool;
struct type *builtin_long_long;
struct type *builtin_unsigned_long_long;
+ struct type *builtin_decfloat;
+ struct type *builtin_decdouble;
+ struct type *builtin_declong;
};
/* Return the type table for the specified architecture. */
extern struct type *init_flags_type (char *name, int length);
extern void append_flags_type_flag (struct type *type, int bitpos, char *name);
+extern void make_vector_type (struct type *array_type);
extern struct type *init_vector_type (struct type *elt_type, int n);
extern struct type *lookup_reference_type (struct type *);