Abuse? Imagine? I wrote the code, and did 'track down the bugs'. I've also 'tracked down the bugs' in past projects that did not use similar techniques to mine: the bugs were far more numerous and time consuming. The only implementation I know of that seriously blows chunks on preprocessor macros is Microsoft's (all versions of their compiler, at least since Visual C++ 5), when you leave their 'incremental' compiler options on.

Rewrite C++? You may as well accuse me of putting babies in a microwave. I'd sooner eat the contents of a cat litter box than have anything to do with C++ again.

Why on the C board instead of C++? This is C. Apparently a lot of people seem to believe you need C++ to make object oriented code. You need C++ for OOP like you need a Cadillac to save gas.