C++ PATCH: Emit secondary vtables w/correct class
Chip Salzenberg
chip@valinux.com
Sun Jun 11 19:31:00 GMT 2000
I'm not sure this is a totally correct patch, but it works for me:
I can now build libstdc++-v3 as a shared library without undefined
vtable references.
2000-06-11 Chip Salzenberg <chip@valinux.com>
* class.c (build_ctor_vtbl_group): Associate secondary vtables
with their most-derived class.
Index: class.c
diff -u -2 -p -c -r1.316 class.c
cvs server: conflicting specifications of output style
*** class.c 2000/06/09 16:45:20 1.316
--- class.c 2000/06/12 02:08:20
*************** build_ctor_vtbl_group (binfo, t)
*** 6782,6786 ****
constructing the addresses of secondary vtables in the
construction vtable group. */
! vtbl = build_vtable (BINFO_TYPE (binfo), id, ptr_type_node);
list = build_tree_list (vtbl, NULL_TREE);
accumulate_vtbl_inits (binfo, TYPE_BINFO (TREE_TYPE (binfo)),
--- 6782,6786 ----
constructing the addresses of secondary vtables in the
construction vtable group. */
! vtbl = build_vtable (t, id, ptr_type_node);
list = build_tree_list (vtbl, NULL_TREE);
accumulate_vtbl_inits (binfo, TYPE_BINFO (TREE_TYPE (binfo)),
--
Chip Salzenberg - a.k.a. - <chip@valinux.com>
"I wanted to play hopscotch with the impenetrable mystery of existence,
but he stepped in a wormhole and had to go in early." // MST3K
More information about the Gcc-bugs
mailing list