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

--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <[email protected]>:

https://gcc.gnu.org/g:151ded854245c1578706a9da4843f17f55de33d0

commit r17-3479-g151ded854245c1578706a9da4843f17f55de33d0
Author: Odysseas Georgoudis <[email protected]>
Date:   Sun Jul 26 23:48:20 2026 +0100

    c++: Avoid access check for dependent lookup result [PR124983]

    strip_using_decl turns a dependent typename USING_DECL into a dependent
    TYPE_DECL.  If member lookup finds that declaration while looking for a
    typo correction, lookup_member can therefore try to perform an access
    check on it.  Access checks for dependent declarations need to wait until
    substitution, and enforce_access asserts this invariant.

    Skip the access check whenever the lookup result refers to a member of a
    dependent scope, not just when it remains a USING_DECL.

    gcc/cp/ChangeLog:

            PR c++/124983
            * search.cc (lookup_member): Skip access checks for declarations
            from dependent scope.

    gcc/testsuite/ChangeLog:

            PR c++/124983
            * g++.dg/template/pr124983.C: New test.

    Signed-off-by: Odysseas Georgoudis <[email protected]>
    Co-authored-by: Jason Merrill <[email protected]>

Reply via email to