summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-05-29 18:27:38 +0000
committerDouglas Gregor <dgregor@apple.com>2009-05-29 18:27:38 +0000
commit6181ded4ade4ae70fc478b6cfe16311c89099e98 (patch)
treeda5e76c0435d5444b52bd1b70bcff7121dfecf2d /clang/lib/Sema/SemaTemplateInstantiateExpr.cpp
parent893abe482d61ad8b76ab0a1fe749b20c0314a248 (diff)
downloadbcm5719-llvm-6181ded4ade4ae70fc478b6cfe16311c89099e98.tar.gz
bcm5719-llvm-6181ded4ade4ae70fc478b6cfe16311c89099e98.zip
Reduce the amount of stack space we use in SmallVectors during
template instantiation. This helps reduce our stack footprint when performing deep template instantiations. llvm-svn: 72582
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiateExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaTemplateInstantiateExpr.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp b/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp
index 31bb91def2c..c312bb85420 100644
--- a/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp
+++ b/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp
@@ -575,7 +575,7 @@ Sema::OwningExprResult TemplateExprInstantiator::VisitVAArgExpr(VAArgExpr *E) {
Sema::OwningExprResult
TemplateExprInstantiator::VisitInitListExpr(InitListExpr *E) {
- ExprVector Inits(SemaRef);
+ ASTOwningVector<&ActionBase::DeleteExpr, 4> Inits(SemaRef);
for (unsigned I = 0, N = E->getNumInits(); I != N; ++I) {
OwningExprResult Init = Visit(E->getInit(I));
if (Init.isInvalid())
@@ -597,7 +597,7 @@ TemplateExprInstantiator::VisitDesignatedInitExpr(DesignatedInitExpr *E) {
return SemaRef.ExprError();
// Instantiate the designators.
- ExprVector ArrayExprs(SemaRef); // Expresses used in array designators
+ ASTOwningVector<&ActionBase::DeleteExpr, 4> ArrayExprs(SemaRef);
for (DesignatedInitExpr::designators_iterator D = E->designators_begin(),
DEnd = E->designators_end();
D != DEnd; ++D) {
OpenPOWER on IntegriCloud