How to access initialized values of global variables

Swati swatirathi@cse.iitb.ac.in
Thu May 10 06:26:00 GMT 2012


Thanks a lot. :)

FOR_EACH_CONSTRUCTOR_ELT worked.
I can access individual fields and their values.


On Wednesday 09 May 2012 11:50 PM, Ian Lance Taylor wrote:
> Swati<swatirathi@cse.iitb.ac.in>  writes:
>
>> I am trying to fetch the initialized values of global variables.
>> For eg : int i = 10;
>>
>> I am able to extract the value using DECL_INITIAL.
>> But when I have a case like below,
>>
>> struct node
>> {
>>          int x;
>>          int y;
>> };
>>
>> struct node n1=
>> {
>>          99,
>>          88,
>> };
>>
>> I get value as {.x=99, .y=88}
>>
>> How should I iterate to fetch 99 and 88 individually?
>> In a way I want to access individual variables initialized values.
>> Can someone tell me the way to do it.
> I assume you are talking about a GCC plugin here.
>
> The DECL_INITIAL should be a CONSTRUCTOR.  CONSTRUCTOR_NELTS is the
> number of elements and CONSTRUCTOR_ELTS is the elements themselves.  You
> can iterate over them using FOR_EACH_CONSTRUCTOR_ELT, which will give
> you the index and value for each entry in the constructor.  The index
> will be a FIELD_DECL.
>
> Ian



More information about the Gcc-help mailing list