[clang] [clang][modules] Only modulemaps of included textual headers are affecting (PR #89729)

Jan Svoboda via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 23 07:38:13 PDT 2024


================
@@ -1441,6 +1441,10 @@ void HeaderSearch::MarkFileModuleHeader(FileEntryRef FE,
   HFI.isCompilingModuleHeader |= isCompilingModuleHeader;
 }
 
+void HeaderSearch::EnteredTextualFile(FileEntryRef File) {
+  getFileInfo(File).isCompilingModuleHeader = true;
----------------
jansvoboda11 wrote:

The documentation for `isCompilingModuleHeader` says:
```
  /// Whether this header is part of the module that we are building, even if it
  /// doesn't build with the module. i.e. this will include `excluded` and
  /// `textual` headers as well as normal headers.
```
To me this means this should set only for headers that semantically belong to the current module, not headers that happen to be compiled with it due to being textual.

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


More information about the cfe-commits mailing list