sam-mccall wrote: > Is this a pre-existing issue, or did my patch change to make "each textual > header gets a `HFI`"?
My best understanding that your patch gave textual headers`HFI`s when the module map was loaded, rather than when the header was included. This shouldn't have mattered, but for the latent pre-existing bug: this caused the modulemap to be "affecting" and thus serialized. (Fixed by this patch) Your patch changed an early-bailout condition in `markFileModuleHeader` (1426) from `if !ModularHeader` to `if ExcludedHeader`, so now we carry on further in case of textual headers. The next line calls `getExistingFileInfo` which is probably fine, and then bails out if `ModularHeader` (1430). But with textual headers, we keep going. Finally on line 1433 we call `getFileInfo` and the `HFI` is forced to exist. https://github.com/llvm/llvm-project/pull/89441 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits