From 7ef7bab7e3d06f660b059b903c231f100bb13cc5 Mon Sep 17 00:00:00 2001 From: Ed Schouten Date: Sun, 14 Jun 2009 09:24:02 +0000 Subject: Import Clang r73340. --- test/SemaTemplate/variadic-class-template-2.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 test/SemaTemplate/variadic-class-template-2.cpp (limited to 'test/SemaTemplate/variadic-class-template-2.cpp') diff --git a/test/SemaTemplate/variadic-class-template-2.cpp b/test/SemaTemplate/variadic-class-template-2.cpp new file mode 100644 index 000000000000..eadea901c7fe --- /dev/null +++ b/test/SemaTemplate/variadic-class-template-2.cpp @@ -0,0 +1,19 @@ +// RUN: clang-cc -fsyntax-only -verify %s -std=c++0x + +// Type parameters packs +template struct TS1 {}; // expected-note{{template parameter is declared here}} +template struct TS1<>; +template struct TS1; +template struct TS1; +template struct TS1; // expected-error{{template argument for template type parameter must be a type}} + +template struct TS2 {}; // expected-note{{template is declared here}} +template struct TS2<>; // expected-error{{too few template arguments for class template 'TS2'}} +template struct TS2; +template struct TS2; + +template struct TS3 {}; // expected-note{{template parameter is declared here}} +template struct TS3<>; // expected-note{{previous explicit instantiation is here}} +template struct TS3; // expected-error{{duplicate explicit instantiation of 'TS3<>'}} +template struct TS3; +template struct TS3<10>; // expected-error{{template argument for template type parameter must be a type}} -- cgit v1.2.3