How to extract types of variables and its uid?
Richard Biener
richard.guenther@gmail.com
Thu Apr 9 10:43:00 GMT 2015
On Thu, Apr 9, 2015 at 11:57 AM, Swati Rathi <swatirathi@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
>
More information about the Gcc
mailing list