This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

About vtable generation on ia64


Hi all,
     I'am tring to understand how g++ generate vtable for c++ on ia64. Here
is what I got in the CONSTRUCTOR_ELTS in a constructor node: (with g++ 3.3.2
fe)
=== source code ===
Class A
{
Public:
Virtual void f(){}
Virtual void g(){}
};
=== result ===
 VAL: 0
 SYMOFF: _ZTI1A(0x1901)+0(0x0)
 SYMOFF: _ZN1A1fEv(0x1701)+0(0x0)
 SYMOFF: _ZN1A1fEv(0x1701)+0(0x0)	-- (1)
 SYMOFF: _ZN1A1gEv(0x1801)+0(0x0)
 SYMOFF: _ZN1A1gEv(0x1801)+0(0x0)	--(2)

  You can see that (1) and (2) are incorrect according to the abi. They
should be of gp value. I wonder it is a bug in my g++ version, or it just
allocates slots here, and the later phases in g++ will fix this.

Thanks,
Zhenyu


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]