================ @@ -547,6 +548,83 @@ mlir::LogicalResult CIRGenFunction::emitSwitchCase(const SwitchCase &s, llvm_unreachable("expect case or default stmt"); } +mlir::LogicalResult +CIRGenFunction::emitCXXForRangeStmt(const CXXForRangeStmt &s, + ArrayRef<const Attr *> forAttrs) { + cir::ForOp forOp; + + // TODO(cir): pass in array of attributes. + auto forStmtBuilder = [&]() -> mlir::LogicalResult { + mlir::LogicalResult loopRes = mlir::success(); + // Evaluate the first pieces before the loop. + if (s.getInit()) ---------------- erichkeane wrote:
can we have a test that shows an init? Something like: ``` void foo() { for (int arr[]{1,2,3,4}; auto x : arr){} } ``` https://github.com/llvm/llvm-project/pull/138176 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits