[clang] [C++20] [Modules] Warn if we found #include <filename> in module purview (PR #69555)

Chuanqi Xu via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 2 18:52:19 PDT 2023


ChuanqiXu9 wrote:

> FWIW, we saw failures at Google (where, to the best of my knowledge, we aren't using named modules at all) that look like this:
> 
> ```
> error: '#include <filename>' attaches the declarations to the named module '.get', which is not usually intended; consider moving that directive before the module declaration [-Werror,-Winclude-angled-in-module-purview]
>    14 | #include <stddef.h>
> ```
> 
> So there's probably some problems with this patch? is this enough to go on, or would a reduced test case be required to address the issue? (reducing modules issues is a bit difficult/expensive, or I'd have provided it up front)

Since the patch itself is pretty simple, if there is a problem, it should come from the implementation `Preprocessor::isInNamedModule()`.  It should be helpful to provide a reproducer so that we can be sure we're facing the same issue.



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


More information about the cfe-commits mailing list