manmanren added a comment.
Thanks a lot for the pointers!
I will definitely try them. What I proposed here is something similar to what
llvm does that dumps logging messages, it should be complementary to your
In https://reviews.llvm.org/D22638#572753, @v.g.vassilev wrote:
> I am not sure whether that's useful for debugging out-of-date issues but this
> is what I use and it is helpful.
> Some debugging aids (suggested by Richard Smith):
> -fdiagnostics-show-note-include-stack will tell you which module a note
> comes from
> #pragma clang __debug dump X allows you to produce an AST dump from within
> a source file, so you can see which modules declare a given name
> #pragma clang __debug macro M allows you to dump a macro, which can be
> useful to see which module(s) export visible include guards for a header
> If a name is not visible in a modules build but is visible in a non-modules
> build, i usually find that's due to one of two things
> some part of the machinery that provides it depends on macro definitions
> leaking into a modular header from outside, or
> there is an include cycle involving a modular header and a non-modular
cfe-commits mailing list