[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