[Bug c++/100797] [10/11 Regression] using declaration causing virtual call with wrongly adjusted this pointer

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 1 15:53:43 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100797

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jason Merrill
<jason@gcc.gnu.org>:

https://gcc.gnu.org/g:1027e8c8837d9d4933946f2888d85deef2cf850b

commit r10-9876-g1027e8c8837d9d4933946f2888d85deef2cf850b
Author: Jason Merrill <jason@redhat.com>
Date:   Thu May 27 23:54:52 2021 -0400

    c++: 'this' adjustment for devirtualized call

    My patch for 95719 made us do a better job of finding the actual virtual
    function we want to call, but didn't update the 'this' pointer adjustment
to
    match.

    This backport also incorporates a bit of the r11-1638 reorganization.

            PR c++/100797
            PR c++/95719

    gcc/cp/ChangeLog:

            * call.c (build_over_call): Adjust base_binfo in
            resolves_to_fixed_type_p case.

    gcc/testsuite/ChangeLog:

            * g++.dg/inherit/virtual15.C: New test.
            * g++.dg/inherit/virtual15a.C: New test.


More information about the Gcc-bugs mailing list