gcc preprocessor macro fixes