[PATCH] D17215: [Sema] Fix PR14211 Crash for explicit instantiation of overloaded template function within class template
don hinton via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 15 13:50:09 PST 2016
hintonda added inline comments.
================
Comment at: lib/Sema/SemaTemplate.cpp:7845
@@ -7842,1 +7844,3 @@
+ } else
+ NonTemplateMatch = Method;
}
----------------
rjmccall wrote:
> Could you add an assertion here that NonTemplateMatch is still null? That should definitely never trip.
>
> Hmm, actually, it might trip in invalid code; you should include a test case like
> template <class T, class U> class A { void foo(T) {} void foo(U) {} };
> template void A<int, int>::foo(int);
I'll add the new test, but we do check for null below, i.e., we assign NonTemplateMatch to the original Specialization pointer, and then check the matches. If we don't find one, we true on line 7883.
http://reviews.llvm.org/D17215
More information about the cfe-commits
mailing list