diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2012-02-08 03:07:05 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2012-02-08 03:07:05 +0000 |
commit | 59a839c5a4eecfeb495fc64224f6a949d1c5b2da (patch) | |
tree | b865e7d7358489fe91d173285649400c9f7baa31 /test/SemaCXX/undefined-internal.cpp | |
parent | 7b318d16992cb68567c3ee217b86cac2ed11d5d8 (diff) | |
download | clang-59a839c5a4eecfeb495fc64224f6a949d1c5b2da.tar.gz |
Make sure template argument deduction is consistently performed in an unevaluated context.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150049 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX/undefined-internal.cpp')
-rw-r--r-- | test/SemaCXX/undefined-internal.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/SemaCXX/undefined-internal.cpp b/test/SemaCXX/undefined-internal.cpp index a253020b8e..154172001e 100644 --- a/test/SemaCXX/undefined-internal.cpp +++ b/test/SemaCXX/undefined-internal.cpp @@ -170,3 +170,14 @@ namespace cxx11_odr_rules { b(); } } + + +namespace OverloadUse { + namespace { + void f(); + void f(int); // expected-warning {{function 'OverloadUse::<anonymous namespace>::f' has internal linkage but is not defined}} + } + template<void x()> void t(int*) { x(); } + template<void x(int)> void t(long*) { x(10); } // expected-note {{used here}} + void g() { long a; t<f>(&a); } +} |