llvm-project/clang/test/CXX/temp
Douglas Gregor ebcfbb5d22 When we determine that a function template specialization produced as
part of template argument deduction is ill-formed, we mark it as
invalid and treat it as a deduction failure. If we happen to find that
specialization again, treat it as a deduction failure rather than
silently building a call to the declaration.

Fixes PR11117, a marvelous bug where deduction failed after creating
an invalid specialization, causing overload resolution to pick a
different candidate. Then we performed a similar overload resolution
later, and happily picked the invalid specialization to
call... resulting in a silent link failure.

llvm-svn: 141809
2011-10-12 20:35:48 +00:00
..
temp.arg Implement C++0x [temp.arg.template]p3, which allows slightly fuzzy 2011-01-13 00:08:50 +00:00
temp.decls When we determine that a function template specialization produced as 2011-10-12 20:35:48 +00:00
temp.fct.spec Catch placeholder types in DefaultLvalueConversion 2011-10-11 23:14:30 +00:00
temp.names Reinstate r104117, Chandler Carruth's change that "[provides] a naming 2010-05-20 20:58:56 +00:00
temp.param Switch diagnostic text from "C++0x" over to "C++11". 2011-10-12 19:26:40 +00:00
temp.res PR10359: Template declarations which define classes are not permitted to also contain declarators. Previously we would accept code like this: 2011-07-14 21:35:26 +00:00
temp.spec Factor out (some of) the checking for invalid forms of pointer 2011-06-27 08:02:19 +00:00
temp.type Implement support for C++0x alias templates. 2011-05-05 21:57:07 +00:00
p3.cpp PR10359: Template declarations which define classes are not permitted to also contain declarators. Previously we would accept code like this: 2011-07-14 21:35:26 +00:00