Hi Ben, > On 21 Apr 2022, at 13:05, Ben Boeckel via Gcc <gcc@gcc.gnu.org> wrote: > > On Thu, Apr 21, 2022 at 06:05:52 +0200, Boris Kolpackov wrote: >> I don't think it is. A header unit (unlike a named module) may export >> macros which could affect further dependencies. Consider: >> >> import "header-unit.hpp"; // May or may not export macro FOO.
1. If you know how this was built, then you could do an -E -fdirectives-only build (both GCC and clang support this now) to obtain the macros. 2. I suppose we could invent a tool (or FE mode) to dump the macros exported by a HU *** >> #ifdef FOO >> import "header-unit2.hpp" >> #endif > > I agree that the header needs to be *found*, but scanning cannot require > a pre-existing BMI for that header. A new mode likely needs to be laid > down to get the information necessary (instead of just piggy-backing on > `-E` behavior to get what I want). perhaps that means (2)? Iain *** it’s kinda frustrating that this is hard infomation to get as a developer, so perhaps we can anticipate users wanting such output.