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 | dd096d888b04c192b3bd8e0fd6ba7966c667f2d8 (patch) | |
| tree | 78ba806794a0288346700b339372f62795acb24d | |
| parent | dd050567c1d7ff12e1ff84d46aea8a64c2036837 (diff) | |
| download | bcm5719-llvm-dd096d888b04c192b3bd8e0fd6ba7966c667f2d8.tar.gz bcm5719-llvm-dd096d888b04c192b3bd8e0fd6ba7966c667f2d8.zip | |
Fix a case when the TemplateArgs vector can be empty.
llvm-svn: 72911
| -rw-r--r-- | clang/lib/Sema/SemaTemplate.cpp | 2 | ||||
| -rw-r--r-- | clang/test/SemaTemplate/default-arguments.cpp | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp index dede3bba750..c9277aab752 100644 --- a/clang/lib/Sema/SemaTemplate.cpp +++ b/clang/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/clang/test/SemaTemplate/default-arguments.cpp b/clang/test/SemaTemplate/default-arguments.cpp index 572227cb61d..0e4c36609dc 100644 --- a/clang/test/SemaTemplate/default-arguments.cpp +++ b/clang/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<>; |

