This is the mail archive of the
mailing list for the GCC project.
How to access the virtual table?
- From: Swati Rathi <swatirathi at cse dot iitb dot ac dot in>
- To: GCC Development <gcc at gcc dot gnu dot org>
- Date: Fri, 12 Sep 2014 10:30:32 +0530
- Subject: How to access the virtual table?
- Authentication-results: sourceware.org; auth=none
I am trying to access the virtual table.
My pass is hooked after pass_ipa_pta.
Consider Class A which contains virtual function.
An object created as :
is translated in GIMPLE as
struct A a;
From variable "a" we can get its type which is "struct A".
I tried to see how the dump_vtable function access the table.
To access the virtual table for class A, Below is the code which I tried.
tree t = TREE_TYPE (a);
tree binfo = TYPE_BINFO (t);
tree vtab = BINFO_VTABLE (binfo);
FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (DECL_INITIAL (vtab)),
Using the above iterator, entries of the virtual table should be accessible.
However, I am not able to do so.
Kindly inform me the way to access the virtual table.
Also how to fetch the functions from that virtual table?