[clang] [C++20] [Modules] [Driver] Don't enable -fdelayed-template-parsing by default on windows with C++20 modules (PR #69431)

Chuanqi Xu via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 19 00:58:32 PDT 2023


ChuanqiXu9 wrote:

> Is delayed template parsing an optimisation or a correctness measure? If it's an optimisation, then it seems that we should disable it for modules (because that then makes the modules cases correct).  If it's needed for correctness, then we have more of a problem - do we know how MSVC makes the two interact?

According to my readings, this is about the correctness for the extensions in **older** Windows SDK. The comment for `-fdelayed-template-parsing` is:

> // Many old Windows SDK versions require this to parse.
> // FIXME: MSVC introduced /Zc:twoPhase- to disable this behavior in their
> // compiler. We should be able to disable this by default at some point.

So while it is about the correctness for some legacy cases, it should be disabled by default at some point according to our plan. (Although I am not sure if any one is watching on this).

>  If it's needed for correctness, then we have more of a problem - do we know how MSVC makes the two interact?

I think we can only achieve this by reaching out Cameron.


https://github.com/llvm/llvm-project/pull/69431


More information about the cfe-commits mailing list