Both GCC and Clang allow you to dump all defined macros during preprocessing. However, I have not found an option to also dump information about where these macros are used in the code.
Does either of these compilers have this option to make the preprocessor dump this information?