]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/cp/class.c
re PR c++/13118 ([ABI] Missed covariant return thunk)
authorNathan Sidwell <nathan@codesourcery.com>
Fri, 12 Dec 2003 18:22:23 +0000 (18:22 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Fri, 12 Dec 2003 18:22:23 +0000 (18:22 +0000)
commite00853fd9010af463931114e469875303b7bf876
treee4c56658ea817e7905726e5e9476381df44a1c17
parent3950dcdfccd66e077b1be064826aac76122f4bb4
re PR c++/13118 ([ABI] Missed covariant return thunk)

cp:
PR c++/13118
* cp-tree.h (lang_decl_u): Add thunk_alias member.
(THUNK_VIRTUAL_OFFSET): Must be a FUNCTION_DECL.
(THUNK_ALIAS_P): Remove.
(THUNK_ALIAS): Adjust.
* class.c (update_vtable_entry_for_fn): Get the vbase within the
overriding function's return type.
(dump_thunk): Adjust THUNK_ALIAS printing.
(build_vtbl_initializer): Adjust THUNK_ALIAS use.
* method.c (make_thunk): Revert 12881 test change. Clear
THUNK_ALIAS.
(finish_thunk): Adjust THUNK_ALIAS setting.
(use_thunk): Adjust THUNK_ALIAS use.
* semantics.c (emit_associated_thunks): Likewise.
testsuite:
PR c++/13118
* g++.dg/abi/covariant3.C: New.

From-SVN: r74576
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/method.c
gcc/cp/semantics.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/abi/covariant3.C [new file with mode: 0644]