Quoting Paolo Bonzini <bonz...@gnu.org>:
Augmenting libcpp with a new kind of poisoning that only affect preprocessor conditionals would probably make this a lot simpler.
If we don't have a wrapper macro, we can just poison the macro. I still have to find out how practical that is, but for now let's assume we can do that. How about this: - make a new header tm-poison.h that poisons all target macros, and sets the GCC_TM_H include guard. - include this header in system.h for IN_GCC_FRONTEND - include this header in tree.h / gimple.h unless GCC_TM_H has been set