[cfe-commits] r99510 - /cfe/trunk/test/SemaTemplate/instantiate-function-params.cpp

Douglas Gregor dgregor at apple.com
Thu Mar 25 08:42:12 PDT 2010


Author: dgregor
Date: Thu Mar 25 10:42:11 2010
New Revision: 99510

URL: http://llvm.org/viewvc/llvm-project?rev=99510&view=rev
Log:
Add another test for weird substitutions into function types during template argument deduction

Modified:
    cfe/trunk/test/SemaTemplate/instantiate-function-params.cpp

Modified: cfe/trunk/test/SemaTemplate/instantiate-function-params.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaTemplate/instantiate-function-params.cpp?rev=99510&r1=99509&r2=99510&view=diff
==============================================================================
--- cfe/trunk/test/SemaTemplate/instantiate-function-params.cpp (original)
+++ cfe/trunk/test/SemaTemplate/instantiate-function-params.cpp Thu Mar 25 10:42:11 2010
@@ -42,3 +42,16 @@
 }
 
 template void instF0<int, int, float>(X0<int(int)>, X0<int(float)>);
+
+template<typename R, typename A1, R (*ptr)(A1)> struct FuncPtr { };
+template<typename A1, int (*ptr)(A1)> struct FuncPtr<int, A1, ptr> { };
+
+template<typename R, typename A1> R unary_func(A1);
+
+template<typename R, typename A1, typename A2>
+void use_func_ptr() {
+  FuncPtr<R, A1, &unary_func<R, A1> > fp1;
+  FuncPtr<R, A2, &unary_func<R, A2> > fp2;
+};
+
+template void use_func_ptr<int, float, double>();





More information about the cfe-commits mailing list