diff options
author | Anders Carlsson <andersca@mac.com> | 2009-06-11 16:06:49 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-06-11 16:06:49 +0000 |
commit | 3b56c002591b59c6c257951f6613b44de83fa860 (patch) | |
tree | 21a6ed624af8f7f8db6285d08d8ce50593e09392 /test/SemaTemplate/default-arguments.cpp | |
parent | 01cd4fb8259c5339279dea5eb5b40b02f1fa8d0f (diff) |
Add a null check that fixes the crash in PR4362, and make sure to instantiate non-type template arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73193 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaTemplate/default-arguments.cpp')
-rw-r--r-- | test/SemaTemplate/default-arguments.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/SemaTemplate/default-arguments.cpp b/test/SemaTemplate/default-arguments.cpp index 5b6ab7d155..f9bb44ecb9 100644 --- a/test/SemaTemplate/default-arguments.cpp +++ b/test/SemaTemplate/default-arguments.cpp @@ -13,3 +13,12 @@ X<> *x4; template<typename T = int> struct Z { }; template struct Z<>; + +// PR4362 +template<class T> struct a { }; +template<> struct a<int> { static const bool v = true; }; + +template<class T, bool = a<T>::v> struct p { }; // expected-error {{no member named 'v'}} + +template struct p<bool>; // expected-note {{in instantiation of default argument for 'p<bool>' required here}} +template struct p<int>; |