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 /libcpp/include/cpplib.h | |
| 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 'libcpp/include/cpplib.h')
0 files changed, 0 insertions, 0 deletions
