summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-06-05 02:12:32 +0000
committerAnders Carlsson <andersca@mac.com>2009-06-05 02:12:32 +0000
commitdd096d888b04c192b3bd8e0fd6ba7966c667f2d8 (patch)
tree78ba806794a0288346700b339372f62795acb24d
parentdd050567c1d7ff12e1ff84d46aea8a64c2036837 (diff)
downloadbcm5719-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.cpp2
-rw-r--r--clang/test/SemaTemplate/default-arguments.cpp3
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<>;
OpenPOWER on IntegriCloud