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