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

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

https://gcc.gnu.org/g:c17206709f94331e81443e2bdcf135a6ab7428ce

commit r12-8533-gc17206709f94331e81443e2bdcf135a6ab7428ce
Author: Jason Merrill <ja...@redhat.com>
Date:   Thu Jun 23 23:14:35 2022 -0400

    c++: dependent generic lambda template-id [PR106024]

    We were wrongly looking up the generic lambda op() in a dependent scope,
and
    then trying to look up its instantiation at substitution time, but lambdas
    aren't instantiated, so we crashed.  The fix is to not look into dependent
    class scopes.

    But this created trouble with wrongly trying to use a template from the
    enclosing scope when we aren't actually looking at a
template-argument-list,
    in template/lookup18.C, so let's avoid that.

            PR c++/106024

    gcc/cp/ChangeLog:

            * parser.cc (missing_template_diag): Factor out...
            (cp_parser_id_expression): ...from here.
            (cp_parser_lookup_name): Don't look in dependent object_type.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp2a/lambda-generic10.C: New test.

Reply via email to