We want to store all the types associated with the class objects or
pointer to a class in a program.
Consider two variables var1 and var2 declared in different functions as
below.
class IStream *var1;
class IStream *var2;
We are extracting its type as below :
tree type1 = TREE_TYPE (TREE_TYPE (var1));
tree type2 = TREE_TYPE (TREE_TYPE (var2));
TREE_CODE (type1) and TREE_CODE (type2) is RECORD_TYPE.
We wish to record the type struct IStream.
However, when we print TYPE_UID (type1) and TYPE_UID (type2), it is
different.
TYPE_UID = 4326, tree_type : struct IStream
TYPE_UID = 7421, tree_type : struct IStream
Using TYPE_UID (TYPE_MAIN_VARIANT (type1)) and TYPE_UID
(TYPE_MAIN_VARIANT (type2)) also gives the same result.
We wish to avoid duplicate entries of the same type.
How to extract types and uid?
Regards,
Swati