diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-11-07 23:05:16 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-11-07 23:05:16 +0000 |
commit | 1ccc8416a02475d7c9cc692bdb7fffe6aa7a6a37 (patch) | |
tree | 94fb124fe766ec7aecc9463a661c9f2950649e82 /clang/test/SemaTemplate/variadic-class-template-2.cpp | |
parent | 1c76c59bbc056c65f2e344741a3cd61e7aead88f (diff) | |
download | bcm5719-llvm-1ccc8416a02475d7c9cc692bdb7fffe6aa7a6a37.tar.gz bcm5719-llvm-1ccc8416a02475d7c9cc692bdb7fffe6aa7a6a37.zip |
Remove broken support for variadic templates, along with the various
abstractions (e.g., TemplateArgumentListBuilder) that were designed to
support variadic templates. Only a few remnants of variadic templates
remain, in the parser (parsing template type parameter packs), AST
(template type parameter pack bits and TemplateArgument::Pack), and
Sema; these are expected to be used in a future implementation of
variadic templates.
But don't get too excited about that happening now.
llvm-svn: 118385
Diffstat (limited to 'clang/test/SemaTemplate/variadic-class-template-2.cpp')
-rw-r--r-- | clang/test/SemaTemplate/variadic-class-template-2.cpp | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/clang/test/SemaTemplate/variadic-class-template-2.cpp b/clang/test/SemaTemplate/variadic-class-template-2.cpp deleted file mode 100644 index 509977121f4..00000000000 --- a/clang/test/SemaTemplate/variadic-class-template-2.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++0x - -// Type parameters packs -template <typename ...> struct TS1 {}; // expected-note{{template parameter is declared here}} -template struct TS1<>; -template struct TS1<int>; -template struct TS1<int, int>; -template struct TS1<int, 10>; // expected-error{{template argument for template type parameter must be a type}} - -template <typename, typename ...> struct TS2 {}; // expected-note{{template is declared here}} -template struct TS2<>; // expected-error{{too few template arguments for class template 'TS2'}} -template struct TS2<int>; -template struct TS2<int, int>; - -template <typename = int, typename ...> struct TS3 {}; // expected-note{{template parameter is declared here}} -template struct TS3<>; // expected-note{{previous explicit instantiation is here}} -template struct TS3<int>; // expected-error{{duplicate explicit instantiation of 'TS3}} -template struct TS3<int, int>; -template struct TS3<10>; // expected-error{{template argument for template type parameter must be a type}} |