On Thu, Apr 9, 2015 at 11:57 AM, Swati Rathi <swatira...@cse.iitb.ac.in> wrote: > > 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?
Doesn't it work with class IStream; IStream *var1; IStream *var2; ? > Regards, > Swati >