/* * THIS TESTS: * - block comment, line comment, comment merging * - preprocessor body, preprocessor include * - keyword detection * - integer constant, with and without suffix * - hex form integer constant * - floating constant, with and without suffix * - float constant with scientific notation * - boolean constant * - string constant * - more than 1 kb worth of token data */ // Each line comment and block comment is emitted separately // but then merged in the cpp_push_token function #define PREPROCESSOR #include #define MULTI_LINE\ a( \ b+x, c+x, \ ) #define PP_OPS(n) printf(#n" %d\n", \ counter_##n) extern void* foob(); static inline void fbar(); #if (contets - here + labeled == as pp_body) int main(){ // constant expressions float x = 3.5883f; char c = 0x34; foob(.23e-10, -32ll, -32.); int d = 5; if (true){ char stuff[] = "gotta get that string constant \\ with \" crazieness in there \n"; } // filler to put the memory requirement for the tokens over 1KB int x,y,z,h; x=(y*x)+(-z*y)+h; h+=x<>=x?z:h; return 0; } #endif #include "teststuff.h"