Added an assert in `isConstantInitializer`: initializer lists must be in semantic...
authorDmitri Gribenko <gribozavr@gmail.com>
Fri, 10 May 2019 06:39:20 +0000 (06:39 +0000)
committerDmitri Gribenko <gribozavr@gmail.com>
Fri, 10 May 2019 06:39:20 +0000 (06:39 +0000)
Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D61485

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@360406 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/Expr.cpp

index cf488850d375271fe9133bb3654bdd68f7e044f8..90cc3f582b6418f0b0571300e881afaca7d705da 100644 (file)
@@ -2947,6 +2947,7 @@ bool Expr::isConstantInitializer(ASTContext &Ctx, bool IsForRef,
   }
   case InitListExprClass: {
     const InitListExpr *ILE = cast<InitListExpr>(this);
+    assert(ILE->isSemanticForm() && "InitListExpr must be in semantic form");
     if (ILE->getType()->isArrayType()) {
       unsigned numInits = ILE->getNumInits();
       for (unsigned i = 0; i < numInits; i++) {