diff options
Diffstat (limited to 'gdb/gdbtypes.h')
-rw-r--r-- | gdb/gdbtypes.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index 0828723447b..acfa16a4734 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -440,6 +440,14 @@ enum dynamic_prop_node_kind /* A property providing a type's data location. Evaluating this field yields to the location of an object's data. */ DYN_PROP_DATA_LOCATION, + + /* A property representing DW_AT_allocated. The presence of this attribute + indicates that the object of the type can be allocated/deallocated. */ + DYN_PROP_ALLOCATED, + + /* A property representing DW_AT_allocated. The presence of this attribute + indicated that the object of the type can be associated. */ + DYN_PROP_ASSOCIATED, }; /* * List for dynamic type attributes. */ @@ -1258,6 +1266,12 @@ extern void allocate_gnat_aux_type (struct type *); #define TYPE_DATA_LOCATION_KIND(thistype) \ TYPE_DATA_LOCATION (thistype)->kind +/* Property accessors for the type allocated/associated. */ +#define TYPE_ALLOCATED_PROP(thistype) \ + get_dyn_prop (DYN_PROP_ALLOCATED, thistype) +#define TYPE_ASSOCIATED_PROP(thistype) \ + get_dyn_prop (DYN_PROP_ASSOCIATED, thistype) + /* Attribute accessors for dynamic properties. */ #define TYPE_DYN_PROP_LIST(thistype) \ TYPE_MAIN_TYPE(thistype)->dyn_prop_list @@ -1932,4 +1946,8 @@ extern int types_equal (struct type *, struct type *); extern int types_deeply_equal (struct type *, struct type *); +extern int type_not_allocated (const struct type *type); + +extern int type_not_associated (const struct type *type); + #endif /* GDBTYPES_H */ |