jfb added a comment. I think you want to emit a diagnostic any time auto-init doesn't happen because of this new flag. With the code simplification I propose, it would be pretty hard to introduce a regression... and it someone does it wouldn't be a silent one :)
================ Comment at: clang/lib/CodeGen/CGBuiltin.cpp:84 + CGF.CGM.countAutoVarInit(); + } CGF.Builder.CreateMemSet(AI, Byte, Size, AlignmentInBytes); ---------------- I think this logic is about right, but it seems like something you'd want to use as a two-liner instead. Maybe something like: ``` if (autoInitStopCounter()) return; ``` This would check the value is set, check its value against the counter, and increment the counter. ================ Comment at: clang/lib/CodeGen/CGDecl.cpp:1817 + CGM.countAutoVarInit(); + } + ---------------- This isn't the right place to stop auto-init: we can get past this point even without auto-init. As-is you're introducing a change in the regular language. I hope that some tests for whatever happens below would break if you hack your flag to always stop auto-init for any value. i.e. just on your machine, run the entire test suite with this forcibly on. Only auto-init tests should fail, the others should all still pass. ================ Comment at: clang/lib/CodeGen/CodeGenModule.h:305 const CodeGenOptions &CodeGenOpts; + mutable unsigned NumAutoVarInit = 0; llvm::Module &TheModule; ---------------- This is reachable from a context where `CodeGenModule` is `const` ? :( Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77168/new/ https://reviews.llvm.org/D77168 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits