[cfe-commits] r107359 - /cfe/trunk/test/CXX/basic/basic.scope/basic.scope.pdecl/p9.cpp

Douglas Gregor dgregor at apple.com
Wed Jun 30 17:21:51 PDT 2010


Author: dgregor
Date: Wed Jun 30 19:21:50 2010
New Revision: 107359

URL: http://llvm.org/viewvc/llvm-project?rev=107359&view=rev
Log:
Add test case that I forgot to commit with r107354 (the implementation
of C++ DR481). 

Added:
    cfe/trunk/test/CXX/basic/basic.scope/basic.scope.pdecl/p9.cpp

Added: cfe/trunk/test/CXX/basic/basic.scope/basic.scope.pdecl/p9.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/basic/basic.scope/basic.scope.pdecl/p9.cpp?rev=107359&view=auto
==============================================================================
--- cfe/trunk/test/CXX/basic/basic.scope/basic.scope.pdecl/p9.cpp (added)
+++ cfe/trunk/test/CXX/basic/basic.scope/basic.scope.pdecl/p9.cpp Wed Jun 30 19:21:50 2010
@@ -0,0 +1,18 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+
+// Template type parameters.
+typedef unsigned char T;
+template<typename T = T> struct X0 { };
+template<> struct X0<unsigned char> { static const bool value = true; };
+int array0[X0<>::value? 1 : -1];
+
+// Non-type template parameters.
+const int N = 17;
+template<int N = N> struct X1 { };
+template<> struct X1<17> { static const bool value = true; };
+int array1[X1<>::value? 1 : -1];
+
+// Template template parameters.
+template<template<class> class X0 = X0> struct X2 { };
+template<> struct X2<X0> { static const bool value = true; };
+int array2[X2<>::value? 1 : -1];





More information about the cfe-commits mailing list