TYPE_CODE_XMETHOD
};
-/* * For now allow source to use TYPE_CODE_CLASS for C++ classes, as
- an alias for TYPE_CODE_STRUCT. This is for DWARF, which has a
- distinct "class" attribute. Perhaps we should actually have a
- separate TYPE_CODE so that we can print "class" or "struct"
- depending on what the debug info said. It's not clear we should
- bother. */
-
-#define TYPE_CODE_CLASS TYPE_CODE_STRUCT
-
/* * Some constants representing each bit field in the main_type. See
the bit-field-specific macros, below, for documentation of each
constant in this enum. These enum values are only used with
struct func_type *func_stuff;
} type_specific;
+
+ /* * Contains a location description value for the current type. Evaluating
+ this field yields to the location of the data for an object. */
+
+ struct dynamic_prop *data_location;
};
/* * A ``struct type'' describes a particular instance of a type, with
#define TYPE_LOW_BOUND_KIND(range_type) \
TYPE_RANGE_DATA(range_type)->low.kind
+/* Attribute accessors for the type data location. */
+#define TYPE_DATA_LOCATION(thistype) \
+ TYPE_MAIN_TYPE(thistype)->data_location
+#define TYPE_DATA_LOCATION_BATON(thistype) \
+ TYPE_DATA_LOCATION (thistype)->data.baton
+#define TYPE_DATA_LOCATION_ADDR(thistype) \
+ TYPE_DATA_LOCATION (thistype)->data.const_val
+#define TYPE_DATA_LOCATION_KIND(thistype) \
+ TYPE_DATA_LOCATION (thistype)->kind
+
/* Moto-specific stuff for FORTRAN arrays. */
#define TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED(arraytype) \