diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-07-29 16:09:57 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-07-29 16:09:57 +0000 |
commit | 0004417e81d881bffd7190ae6fd2ce3553363b3b (patch) | |
tree | dde1931f65e8eb0d706ecc89b3ecf268b45f723a /clang/test/SemaTemplate/injected-class-name.cpp | |
parent | ea2f1ceb4b6d5f7552379f4e2ea6efb0b12f195c (diff) | |
download | bcm5719-llvm-0004417e81d881bffd7190ae6fd2ce3553363b3b.tar.gz bcm5719-llvm-0004417e81d881bffd7190ae6fd2ce3553363b3b.zip |
Use the new statement/expression profiling code to unique dependent
template arguments, as in template specialization types. This permits
matching out-of-line definitions of members for class templates that
involve non-type template parameters.
llvm-svn: 77462
Diffstat (limited to 'clang/test/SemaTemplate/injected-class-name.cpp')
-rw-r--r-- | clang/test/SemaTemplate/injected-class-name.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/clang/test/SemaTemplate/injected-class-name.cpp b/clang/test/SemaTemplate/injected-class-name.cpp index c5f826d849c..f9674c39a58 100644 --- a/clang/test/SemaTemplate/injected-class-name.cpp +++ b/clang/test/SemaTemplate/injected-class-name.cpp @@ -19,7 +19,7 @@ X<float>::X<int> xi = x; // [temp.local]p1: -// FIXME: test non-type and template template parameters +// FIXME: test template template parameters template<typename T, typename U> struct X0 { typedef T type; @@ -38,3 +38,11 @@ struct X0 { void f2(X0&); void f2(const ::X0<type, U_type2>&); // expected-error{{redecl}} }; + +template<typename T, T N> +struct X1 { + void f0(const X1&); // expected-note{{here}} + void f0(X1&); + void f0(const X1<T, N>&); // expected-error{{redecl}} +}; + |