diff options
author | Jason Merrill <jason@redhat.com> | 2021-04-10 02:10:32 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2021-04-12 17:29:54 -0400 |
commit | 84081e2c6bd43a6790f751755865cf4227adac7c (patch) | |
tree | bea64490c946c310635dd1caeeae33e28a3a7632 /gcc/go | |
parent | 7650259de8f86c403113f7186d82737eddb65ef6 (diff) | |
download | gcc-84081e2c6bd43a6790f751755865cf4227adac7c.zip gcc-84081e2c6bd43a6790f751755865cf4227adac7c.tar.gz gcc-84081e2c6bd43a6790f751755865cf4227adac7c.tar.bz2 |
c++: premature overload resolution [PR93085]
We can't resolve the call to foo<42> before instantiation of G, because the
template parameter of #1 has dependent type. But we were missing that in
our dependency check, because the tree walk of DECL_TEMPLATE_PARMS doesn't
look into the types of template parameters. So look at them directly.
gcc/cp/ChangeLog:
PR c++/93085
* pt.c (uses_outer_template_parms): Handle non-type and template
template parameters specifically.
gcc/testsuite/ChangeLog:
PR c++/93085
* g++.dg/template/dependent-tmpl1.C: New test.
Diffstat (limited to 'gcc/go')
0 files changed, 0 insertions, 0 deletions