How to extract types of variables and its uid?
Swati Rathi
swatirathi@cse.iitb.ac.in
Thu Apr 9 12:36:00 GMT 2015
The variables are declared as you have mentioned.
IStream *var1;
IStream *var2;
Also, var1 and var2 are declared in different functions.
On Thursday 09 April 2015 03:30 PM, Richard Biener wrote:
> 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