diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-09-14 23:02:14 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-09-14 23:02:14 +0000 |
commit | 6010da024cec6cf301c2b41a4bff10c70f7643bf (patch) | |
tree | 491fae93fb7b95f3e1b8dfe08399f09ead6e4415 /clang/test/SemaTemplate/temp_func_order.cpp | |
parent | 2e0807cd7536a4eb2ecf19b0f86dca72af0bd69b (diff) | |
download | bcm5719-llvm-6010da024cec6cf301c2b41a4bff10c70f7643bf.tar.gz bcm5719-llvm-6010da024cec6cf301c2b41a4bff10c70f7643bf.zip |
Implement partial ordering of function templates when calling a
conversion function.
llvm-svn: 81807
Diffstat (limited to 'clang/test/SemaTemplate/temp_func_order.cpp')
-rw-r--r-- | clang/test/SemaTemplate/temp_func_order.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/clang/test/SemaTemplate/temp_func_order.cpp b/clang/test/SemaTemplate/temp_func_order.cpp index e87038d9222..5fd7c8d7457 100644 --- a/clang/test/SemaTemplate/temp_func_order.cpp +++ b/clang/test/SemaTemplate/temp_func_order.cpp @@ -1,5 +1,4 @@ // RUN: clang-cc -fsyntax-only -verify %s - template<typename T> int &f0(T); @@ -84,3 +83,13 @@ void test_f6(int i, const int ic) { int &ir = f6(i, i); float &fr = f6(ic, ic); } + +struct CrazyFun { + template<typename T, typename U> operator A<T, U>(); + template<typename T> operator A<T, T>(); +}; + +void fun(CrazyFun cf) { + A<int, float> aif = cf; + A<int, int> aii = cf; +} |