And I edit x.h, how does it know the original source file which includes x.h does or doesn't define A before including x.h? That is the issue I was having.
I don't understand why that should be so difficult...
Why can't the IDE just scan all the #include dependencies in an internal database, and update them accordingly?