fhahn added a comment. In D86841#2484705 <https://reviews.llvm.org/D86841#2484705>, @atmnpatel wrote:
> I'm happy to add a patch amending this, the reason it wasn't done that way > was because at the time and even now, out of icc/clang/msvc/gcc, gcc seems to > be the only one that happily removed such loops in C++ > (https://godbolt.org/z/W9vj99), and I didn't have a particularly strong > opinion on which way we should lean at the time. I think ideally we would make this decision on what the standard allows. AFAICT the C++ spec for iteration statements (http://eel.is/c++draft/stmt.iter) does not have the same escape hatch as C. So IMO the current behavior is surprising and potentially leads to confusion for users (e.g. wondering why are some loops removed, but others not, even if the C++ spec allows for both to be removed). There may be practical reasons for opting to be more conservative (e.g. if it would break a large number of user codes), but so far there seems to be no such indication in the discussion. It would probably be good to also implement `-ffinite-loops` as suggested by @xbolva00 so users can better control this. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D86841/new/ https://reviews.llvm.org/D86841 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits