-
- Downloads
cp-tree.h (THUNK_TARGET): New macro.
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. From-SVN: r60628
Showing
- gcc/cp/class.c 21 additions, 19 deletionsgcc/cp/class.c
- gcc/cp/cp-tree.h 17 additions, 8 deletionsgcc/cp/cp-tree.h
- gcc/cp/dump.c 9 additions, 2 deletionsgcc/cp/dump.c
- gcc/cp/mangle.c 11 additions, 11 deletionsgcc/cp/mangle.c
- gcc/cp/method.c 30 additions, 29 deletionsgcc/cp/method.c
- gcc/testsuite/ChangeLog 6 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/inherit/covariant5.C 27 additions, 0 deletionsgcc/testsuite/g++.dg/inherit/covariant5.C
- gcc/testsuite/g++.dg/inherit/covariant6.C 27 additions, 0 deletionsgcc/testsuite/g++.dg/inherit/covariant6.C
- gcc/testsuite/g++.dg/inherit/covariant7.C 33 additions, 0 deletionsgcc/testsuite/g++.dg/inherit/covariant7.C
Loading
Please register or sign in to comment