This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
How to access points-to information for function pointers
- From: Swati Rathi <swatirathi at cse dot iitb dot ac dot in>
- To: GCC Development <gcc at gcc dot gnu dot org>
- Date: Fri, 25 Apr 2014 21:24:09 +0530
- Subject: How to access points-to information for function pointers
- Authentication-results: sourceware.org; auth=none
Hello,
I am trying to print points-to information for SSA variables as below.
for (i = 1; i < num_ssa_names; i++)
{
tree ptr = ssa_name (i);
struct ptr_info_def *pi;
if (ptr == NULL_TREE
|| SSA_NAME_IN_FREE_LIST (ptr))
continue;
pi = SSA_NAME_PTR_INFO (ptr);
if (pi)
dump_points_to_info_for (file, ptr);
}
-------------------------------------------------------------
My test program is given below :
int main()
{
int *p, i, j;
void (*fp1)();
if (i)
{
p = &i;
fp1 = fun1;
}
else
{
p = &j;
fp1 = fun2;
}
fp1();
printf ("\n%d %d\n", *p, i);
return 0;
}
-------------------------------------------------------------
I get the output as :-
p_1, points-to vars: { i j }
fp1_2, points-to vars: { }
-------------------------------------------------------------
Why is the pointees for function pointer not getting dumped?
How can I access this information?
Regards,
Swati