How to extract types of variables and its uid?

Swati Rathi swatirathi@cse.iitb.ac.in
Thu Apr 9 10:37:00 GMT 2015


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



More information about the Gcc mailing list