rnk added a comment. If we look back at the original intention of our MSVC compatibility work, we tried to accept as much invalid code as necessary to parse "system headers". System headers were widely interpreted to bethe MSVC STL, ATL, and the Windows SDK. So, even if MSVC defaults to delayed template parsing, if system headers parse with /Zc:twoPhase enabled, maybe we could pick a different default. We'd document the behavior change, of course. Delayed template parsing is an ongoing source of bugs (https://llvm.org/pr50676) and maintenance overhead, so it would be worth diverging from MSVC a bit if possible.
So... maybe we should go ahead with this anyway. As I understand it, all these headers parse correctly in the presence of /Zc:twoPhase, and the RTTI issue has been resolved (?), so we should be OK. I think. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103772/new/ https://reviews.llvm.org/D103772 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits