X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fgdbtypes.h;h=2845b71906a8d30f21d9e9bb65c4778b11c499fc;hb=24e99c6c3c78e38a9919c9f8e8b831713f8303a3;hp=d9bfa56cc45e8a6b004b4d6f110762c92c7a2dc6;hpb=d11a9fabab657e592df9167535bc46804937cf18;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index d9bfa56cc4..2845b71906 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -339,15 +339,15 @@ DEF_ENUM_FLAGS_TYPE (enum type_instance_flag_value, type_instance_flags); /* * True if this type is allocatable. */ #define TYPE_IS_ALLOCATABLE(t) \ - (get_dyn_prop (DYN_PROP_ALLOCATED, t) != NULL) + ((t)->dyn_prop (DYN_PROP_ALLOCATED) != NULL) /* * True if this type has variant parts. */ #define TYPE_HAS_VARIANT_PARTS(t) \ - (get_dyn_prop (DYN_PROP_VARIANT_PARTS, t) != nullptr) + ((t)->dyn_prop (DYN_PROP_VARIANT_PARTS) != nullptr) /* * True if this type has a dynamic length. */ #define TYPE_HAS_DYNAMIC_LENGTH(t) \ - (get_dyn_prop (DYN_PROP_BYTE_SIZE, t) != nullptr) + ((t)->dyn_prop (DYN_PROP_BYTE_SIZE) != nullptr) /* * Instruction-space delimited type. This is for Harvard architectures which have separate instruction and data address spaces (and perhaps @@ -874,6 +874,10 @@ struct main_type struct type { + /* * Return the dynamic property of the requested KIND from this type's + list of dynamic properties. */ + dynamic_prop *dyn_prop (dynamic_prop_node_kind kind) const; + /* * Type that is a pointer to this type. NULL if no such pointer-to type is known yet. The debugger may add the address of such a type @@ -1433,7 +1437,7 @@ extern bool set_type_align (struct type *, ULONGEST); /* Property accessors for the type data location. */ #define TYPE_DATA_LOCATION(thistype) \ - get_dyn_prop (DYN_PROP_DATA_LOCATION, thistype) + ((thistype)->dyn_prop (DYN_PROP_DATA_LOCATION)) #define TYPE_DATA_LOCATION_BATON(thistype) \ TYPE_DATA_LOCATION (thistype)->data.baton #define TYPE_DATA_LOCATION_ADDR(thistype) \ @@ -1441,13 +1445,13 @@ extern bool set_type_align (struct type *, ULONGEST); #define TYPE_DATA_LOCATION_KIND(thistype) \ TYPE_DATA_LOCATION (thistype)->kind #define TYPE_DYNAMIC_LENGTH(thistype) \ - get_dyn_prop (DYN_PROP_BYTE_SIZE, thistype) + ((thistype)->dyn_prop (DYN_PROP_BYTE_SIZE)) /* Property accessors for the type allocated/associated. */ #define TYPE_ALLOCATED_PROP(thistype) \ - get_dyn_prop (DYN_PROP_ALLOCATED, thistype) + ((thistype)->dyn_prop (DYN_PROP_ALLOCATED)) #define TYPE_ASSOCIATED_PROP(thistype) \ - get_dyn_prop (DYN_PROP_ASSOCIATED, thistype) + ((thistype)->dyn_prop (DYN_PROP_ASSOCIATED)) /* Attribute accessors for dynamic properties. */ #define TYPE_DYN_PROP_LIST(thistype) \ @@ -2093,11 +2097,6 @@ extern struct type *resolve_dynamic_type /* * Predicate if the type has dynamic values, which are not resolved yet. */ extern int is_dynamic_type (struct type *type); -/* * Return the dynamic property of the requested KIND from TYPE's - list of dynamic properties. */ -extern struct dynamic_prop *get_dyn_prop - (enum dynamic_prop_node_kind kind, const struct type *type); - /* * Given a dynamic property PROP of a given KIND, add this dynamic property to the given TYPE.