diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-07-01 00:21:50 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-07-01 00:21:50 +0000 |
commit | a343430e004bcfeeb3d60e794ac31b44f466d3bb (patch) | |
tree | f5d397f307bef15d77d4b856664e99b41efd2f71 /clang/test/CXX/basic/basic.scope | |
parent | 5a5fcd83c53ed7708d9a813363a868eba6628865 (diff) | |
download | bcm5719-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.cpp | 18 |
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]; |