diff options
author | Anders Carlsson <andersca@mac.com> | 2009-06-05 02:12:32 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-06-05 02:12:32 +0000 |
commit | 9bff9a91fbd6213e2d042aadd8ede92bed6be666 (patch) | |
tree | 5db1b480ffb12b60a4eec07773f1f51e53d58ec1 | |
parent | b4d4c4b8d93d84d0a20ba425ee04310f1001e342 (diff) |
Fix a case when the TemplateArgs vector can be empty.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72911 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Sema/SemaTemplate.cpp | 2 | ||||
-rw-r--r-- | test/SemaTemplate/default-arguments.cpp | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/Sema/SemaTemplate.cpp b/lib/Sema/SemaTemplate.cpp index dede3bba75..c9277aab75 100644 --- a/lib/Sema/SemaTemplate.cpp +++ b/lib/Sema/SemaTemplate.cpp @@ -2271,7 +2271,7 @@ Sema::ActOnExplicitInstantiation(Scope *S, SourceLocation TemplateLoc, // template. llvm::SmallVector<TemplateArgument, 16> ConvertedTemplateArgs; if (CheckTemplateArgumentList(ClassTemplate, TemplateNameLoc, LAngleLoc, - &TemplateArgs[0], TemplateArgs.size(), + TemplateArgs.data(), TemplateArgs.size(), RAngleLoc, ConvertedTemplateArgs)) return true; diff --git a/test/SemaTemplate/default-arguments.cpp b/test/SemaTemplate/default-arguments.cpp index 572227cb61..0e4c36609d 100644 --- a/test/SemaTemplate/default-arguments.cpp +++ b/test/SemaTemplate/default-arguments.cpp @@ -10,3 +10,6 @@ X<> *x3; // expected-error{{too few template arguments for class template 'X'}} template<typename U = float, int M> struct X; X<> *x4; + +template<typename T = int> struct Z; +template struct Z<>; |