getting all definitions of a macro identifer?


I have a question about getting macro definitions when using Clang’s libraries. In analyzing code statically, we’d like to get all definitions of a macro identifier regardless of its actual value passed in. For instance, for the following macro:

#ifdef X

#define F1 zzz


#define F1 yyy


We'd like to get F1's all substitutions (zzz and yyy) no matter what value of X is provided. What's the best method to do it? I'm afraid that using the Preprocessor library is or isn't enough.



you can hook the PPCallbacks and do manual processing on the macros that are defined. If you want to find ALL definitions of the macro in your whole project you need to process all files and (probably) store the results between multiple calls.


Best Jonas