aboutsummaryrefslogtreecommitdiff
path: root/libcpp/macro.cc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2022-01-26 16:42:57 -0500
committerJason Merrill <jason@redhat.com>2022-02-01 14:14:12 -0500
commit8a3789786205376e3ba19fdefadd8937e8ac534e (patch)
tree1e19312473196efe99eb7723c4e0ef3577b68b4d /libcpp/macro.cc
parentb649071d4b3490aa43c6c2212312ace304c9ff1c (diff)
downloadgcc-8a3789786205376e3ba19fdefadd8937e8ac534e.zip
gcc-8a3789786205376e3ba19fdefadd8937e8ac534e.tar.gz
gcc-8a3789786205376e3ba19fdefadd8937e8ac534e.tar.bz2
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.cc (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.
Diffstat (limited to 'libcpp/macro.cc')
0 files changed, 0 insertions, 0 deletions