From 4ba675006b5a8edfc48b6a9bd3dcf54a70cc08f2 Mon Sep 17 00:00:00 2001 From: Roman Divacky Date: Tue, 13 Jul 2010 17:21:42 +0000 Subject: Update clang to r108243. --- .../temp.decls/temp.variadic/parameter-matching.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 test/CXX/temp/temp.decls/temp.variadic/parameter-matching.cpp (limited to 'test/CXX/temp/temp.decls/temp.variadic/parameter-matching.cpp') diff --git a/test/CXX/temp/temp.decls/temp.variadic/parameter-matching.cpp b/test/CXX/temp/temp.decls/temp.variadic/parameter-matching.cpp new file mode 100644 index 000000000000..7352be2d72f0 --- /dev/null +++ b/test/CXX/temp/temp.decls/temp.variadic/parameter-matching.cpp @@ -0,0 +1,21 @@ +// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s + +// Check for template type parameter pack (mis-)matches with template +// type parameters. +template struct X0t; +template struct X0t; + +template struct X1t; // expected-note{{previous template type parameter pack declared here}} +template struct X1t; // expected-error{{template type parameter conflicts with previous template type parameter pack}} + +template struct X2t; // expected-note{{previous template type parameter declared here}} +template struct X2t; // expected-error{{template type parameter pack conflicts with previous template type parameter}} + +template class> struct X0tt; +template class> struct X0tt; + +template class> struct X1tt; // expected-note{{previous template type parameter pack declared here}} +template class> struct X1tt; // expected-error{{template type parameter conflicts with previous template type parameter pack}} + +template class> struct X2tt; // expected-note{{previous template type parameter declared here}} +template class> struct X2tt; // expected-error{{template type parameter pack conflicts with previous template type parameter}} -- cgit v1.3