llvm-project/clang/test/CXX
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
..
basic constexpr: don't consider class types with mutable members to be literal types. 2011-10-12 05:08:15 +00:00
class Switch diagnostic text from "C++0x" over to "C++11". 2011-10-12 19:26:40 +00:00
class.access Switch diagnostic text from "C++0x" over to "C++11". 2011-10-12 19:26:40 +00:00
class.derived Get rid of handling of the 'explicit' keyword from class-head. We still parse it though, although that will change shortly. 2011-03-25 14:31:08 +00:00
conv Drop an unjustified limitation from Type::isObjectType(). Fixes PR7801 and doesn't seem to break anything. 2010-08-05 01:21:19 +00:00
dcl.dcl Switch diagnostic text from "C++0x" over to "C++11". 2011-10-12 19:26:40 +00:00
dcl.decl When adding a direct initializer to a declaration, allow the 2011-10-10 16:05:18 +00:00
except After instantiating a 'noexcept' expression, be sure to convert it to 2011-10-09 18:31:23 +00:00
expr Catch placeholder types in DefaultLvalueConversion 2011-10-11 23:14:30 +00:00
lex Allow C99 hexfloats in C++0x mode. This change resolves the standards 2011-08-30 22:40:35 +00:00
over Catch placeholder types in DefaultLvalueConversion 2011-10-11 23:14:30 +00:00
special Get rid of ShouldDeleteMoveConstructor. 2011-10-11 06:43:29 +00:00
stmt.stmt constexpr: semantic checking for constexpr variables. 2011-09-29 19:11:37 +00:00
temp When we determine that a function template specialization produced as 2011-10-12 20:35:48 +00:00