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 
debugging aids.


In, @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 
> header

cfe-commits mailing list

Reply via email to