1#include "linux_syscall.h" 2#include "linux_console.h" 3 4#define MACRO(hello, hello2) 1 5 6#ifndef A 7#define A 135 8#endif 9#define B A 10#define C B 11#define D C 12#define E D 13#define F E 14#define G F 15#define H G 16#define I H 17 18#define FOO() "hah?\n" 19#define BAR(X) ( X " There\n" ) 20#define BAZ(X) #X 21#define SUM(X, Y) ((X) + (Y)) 22#define REALLY_SUM(...) SUM(__VA_ARGS__) 23 24 25#define hash_hash # /* comment */ ## # 26#define mkstr(a) # a 27#define in_between(a) mkstr(a) 28#define join(c, d) in_between(c hash_hash d) 29 30#define ECHO(X) X 31#define print_debug(X) ECHO(print_debug(X)) 32 33static void test(void) 34{ 35 print_debug(FOO()); 36 print_debug(BAR("Hi!!")); 37 print_debug(BAZ(This should be shown as a string... "enclosed in quotes") "\n"); 38 print_debug("This is a quote\" see\n"); 39 print_debug(BAR(BAZ(I))); 40 41 print_debug_hex32(REALLY_SUM(1,2)); 42 print_debug("\n"); 43 44 print_debug(join(x, y) "\n"); 45 46 print_debug("romcc: "); 47 print_debug_hex8(__ROMCC__); 48 print_debug("."); 49 print_debug_hex8(__ROMCC_MINOR__); 50 print_debug("\n"); 51 52 print_debug(__FILE__); 53 print_debug(":"); 54 print_debug(__func__); 55 print_debug(":"); 56 print_debug_hex32(__LINE__); 57 print_debug("\n"); 58 59 print_debug("Compiled at: "); 60 print_debug(__DATE__); 61 print_debug(" "); 62 print_debug(__TIME__); 63 print_debug("\n"); 64 65 print_debug("Compile time: "); 66 print_debug(__TIME__); 67 print_debug("\n"); 68 69 _exit(0); 70} 71

