summaryrefslogtreecommitdiffstats
path: root/clang/test/CXX/basic/basic.scope
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-07-01 00:21:50 +0000
committerDouglas Gregor <dgregor@apple.com>2010-07-01 00:21:50 +0000
commita343430e004bcfeeb3d60e794ac31b44f466d3bb (patch)
treef5d397f307bef15d77d4b856664e99b41efd2f71 /clang/test/CXX/basic/basic.scope
parent5a5fcd83c53ed7708d9a813363a868eba6628865 (diff)
downloadbcm5719-llvm-a343430e004bcfeeb3d60e794ac31b44f466d3bb.tar.gz
bcm5719-llvm-a343430e004bcfeeb3d60e794ac31b44f466d3bb.zip
Add test case that I forgot to commit with r107354 (the implementation
of C++ DR481). llvm-svn: 107359
Diffstat (limited to 'clang/test/CXX/basic/basic.scope')
-rw-r--r--clang/test/CXX/basic/basic.scope/basic.scope.pdecl/p9.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/test/CXX/basic/basic.scope/basic.scope.pdecl/p9.cpp b/clang/test/CXX/basic/basic.scope/basic.scope.pdecl/p9.cpp
new file mode 100644
index 00000000000..e64b6752f08
--- /dev/null
+++ b/clang/test/CXX/basic/basic.scope/basic.scope.pdecl/p9.cpp
@@ -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];
OpenPOWER on IntegriCloud