OSDN Git Service

cp:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Dec 2002 13:39:48 +0000 (13:39 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Dec 2002 13:39:48 +0000 (13:39 +0000)
commit71b1859a782cdd1a3156e2a5f99be3bb9b5218d4
treeb2f4b26dcfa4c39b16e56aaa74b284dd0dfd7bbe
parent4b09de30489eadcb49bc9ebfe8d53c22c0e138f5
cp:
* cp-tree.h (THUNK_TARGET): New macro.
(THUNK_VIRTUAL_OFFSET): For result thunks it is always a binfo.
(finish_thunk): Remove offset parms.
* class.c (find_final_overrider): Look through thunks.
(get_vcall_index): Use THUNK_TARGET.
(update_vtable_entry_for_fn): Look through thunks. Set covariant
fixed offset here. Adjust finish_thunk call.
(build_vtbl_initializer): Adjust finish_thunk calls.
* mangle.c (mangle_call_offset): Remove superfluous if.
(mangle_thunk): Adjust.
* method.c (make_thunk): Adjust.
(finish_thunk): Adjust.
(thunk_adjust): Remove assert.
(use_thunk): Use THUNK_TARGET
* dump1.c (cp_dump_tree): Adjust thunk dumping.
testsuite:
* g++.dg/inherit/covariant5.C: New test.
* g++.dg/inherit/covariant6.C: New test.
* g++.dg/inherit/covariant7.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60628 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/dump.c
gcc/cp/mangle.c
gcc/cp/method.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/inherit/covariant5.C [new file with mode: 0644]
gcc/testsuite/g++.dg/inherit/covariant6.C [new file with mode: 0644]
gcc/testsuite/g++.dg/inherit/covariant7.C [new file with mode: 0644]