From 222e2a7620e6520ffaf4fc4e69d79c18da31542e Mon Sep 17 00:00:00 2001 From: "Zancanaro; Carlo" Date: Mon, 24 Sep 2012 09:58:17 +1000 Subject: Add the clang library to the repo (with some of my changes, too). --- clang/test/CXX/temp/temp.spec/temp.explicit/p6.cpp | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 clang/test/CXX/temp/temp.spec/temp.explicit/p6.cpp (limited to 'clang/test/CXX/temp/temp.spec/temp.explicit/p6.cpp') diff --git a/clang/test/CXX/temp/temp.spec/temp.explicit/p6.cpp b/clang/test/CXX/temp/temp.spec/temp.explicit/p6.cpp new file mode 100644 index 0000000..1382272 --- /dev/null +++ b/clang/test/CXX/temp/temp.spec/temp.explicit/p6.cpp @@ -0,0 +1,35 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +template class Array { /* ... */ }; +template void sort(Array& v) { } + +// instantiate sort(Array&) - template-argument deduced +template void sort<>(Array&); + +template void sort(Array&); + +template void f0(T, U*) { } + +template void f0(int, float*); +template void f0<>(double, float*); + +template struct hash { }; +struct S { + bool operator==(const S&) const { return false; } +}; + +template struct Hash_map { + void Method(const T& x) { h(x); } + hash h; +}; + +Hash_map *x; +const Hash_map *foo() { + return x; +} + +template<> struct hash { + int operator()(const S& k) const { + return 0; + } +}; -- cgit v1.2.3