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

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

https://gcc.gnu.org/g:97949b796566ad10895e69aadafb2462e45617b6

commit r11-9684-g97949b796566ad10895e69aadafb2462e45617b6
Author: Jason Merrill <ja...@redhat.com>
Date:   Wed Jan 26 16:42:57 2022 -0500

    c++: lambda in template default argument [PR103186]

    The problem with this testcase was that since my patch for PR97900 we
    weren't preserving DECL_UID identity for parameters of instantiations of
    templated functions, so using those parameters as the keys for the
    defarg_inst map broke.  I think this was always fragile given the
    possibility of redeclarations, so instead of reverting that change let's
    switch to keying off the function.

    Memory use compiling stdc++.h is not noticeably different.

            PR c++/103186

    gcc/cp/ChangeLog:

            * pt.c (defarg_inst): Use tree_vec_map_cache_hasher.
            (defarg_insts_for): New.
            (tsubst_default_argument): Adjust.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp0x/lambda/lambda-defarg10.C: New test.
  • [Bug c++/103186] [11 Regression... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to