[clang] [clang][modules] Headers meant to be included multiple times can be completely invisible in clang module builds (PR #83660)

Ian Anderson via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 1 22:37:33 PST 2024


ian-twilightcoder wrote:

Thanks to @Bigcheese for helping with this patch.

https://reviews.llvm.org/D26267 looks like the most recent significant update to this code that we could find. It had an additional allowance where clang headers that were _not_ marked `textual` could be re-entered. I think this was to allow stddef.h (which is actually a multiple-include file despite it not being `textual`) to be entered multiple times while building the Darwin module. That shouldn't be necessary since nothing in the Darwin module or libc++ defines the `__need_` macros.

The unit tests added in D26267 still pass, so I don't think the builtin special case is needed anymore, but I'm still doing testing.

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


More information about the cfe-commits mailing list