Preprocessor based extensions to C99