summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2013-07-01 06:08:20 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2013-07-01 06:08:20 +0000
commit0bca59d6f7a2259b7eddefaeb19fcec8e60f37db (patch)
treeff766cd198de9f5f1135f3f869d8541817fd7778 /clang/lib
parent69665e112b6271a891fc82ee06b8ac02372d8440 (diff)
downloadbcm5719-llvm-0bca59d6f7a2259b7eddefaeb19fcec8e60f37db.tar.gz
bcm5719-llvm-0bca59d6f7a2259b7eddefaeb19fcec8e60f37db.zip
PR16502: Fix a dumb bug where we might look past the last initializer in an
InitListExpr. llvm-svn: 185304
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Sema/SemaInit.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp
index f59571a4865..18328553d38 100644
--- a/clang/lib/Sema/SemaInit.cpp
+++ b/clang/lib/Sema/SemaInit.cpp
@@ -5346,6 +5346,8 @@ static void performLifetimeExtension(Expr *Init, const ValueDecl *ExtendingD) {
for (RecordDecl::field_iterator I = RD->field_begin(),
E = RD->field_end();
I != E; ++I) {
+ if (Index >= ILE->getNumInits())
+ break;
if (I->isUnnamedBitfield())
continue;
Expr *SubInit = ILE->getInit(Index);
OpenPOWER on IntegriCloud