When there are many preprocessor statements and many #ifdef cascades, it\'s hard to get an overview since normally they are not indented. e.g.
#ifdef __WIN32__
#
Just because preprocessing directives are "normally" not indented is not a good reason not to indent them:
#ifdef __WIN32__
#include
#else
#include <..>
#ifdef SOMEOTHER
stmts
#endif
maybe stmts
#endif
If you frequently have multiple levels of nesting of preprocessing directives, you should rework them to make them simpler.