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 | 77dcc726de2e504ec0e6a4a2201d9485f72c1086 (patch) | |
tree | 06f99a7efc8395e7fae3fbfa73743da52a5e29f0 /clang/test/SemaCXX/undefined-internal.cpp | |
parent | 95c0feb5e0aa8cefa660bb74bebcecfd2b6045e5 (diff) | |
download | bcm5719-llvm-77dcc726de2e504ec0e6a4a2201d9485f72c1086.tar.gz bcm5719-llvm-77dcc726de2e504ec0e6a4a2201d9485f72c1086.zip |
Make sure template argument deduction is consistently performed in an unevaluated context.
llvm-svn: 150049
Diffstat (limited to 'clang/test/SemaCXX/undefined-internal.cpp')
-rw-r--r-- | clang/test/SemaCXX/undefined-internal.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/undefined-internal.cpp b/clang/test/SemaCXX/undefined-internal.cpp index a253020b8ef..154172001e7 100644 --- a/clang/test/SemaCXX/undefined-internal.cpp +++ b/clang/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); } +} |