aaron.ballman added inline comments.
================ Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:641 return this->visitInitializer(DIE->getExpr()); + } else if (const auto AILE = dyn_cast<ArrayInitLoopExpr>(Initializer)) { + // TODO: This compiles to quite a lot of bytecode if the array is larger. ---------------- ================ Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:654-664 + if (!this->emitDupPtr(SubExpr)) + return false; + + if (!this->visit(SubExpr)) + return false; + + if (!this->emitInitElem(*ElemT, I, Initializer)) ---------------- In all of these cases we're leaving `ArrayIndex` set to `I` instead of `None`, is that intentional? (Might be worth an RAII object to handle this sort of thing.) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134361/new/ https://reviews.llvm.org/D134361 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits