[Tinycc-devel] macro substitution bug

2008-04-29 Thread Feng Nauh
see: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm macro.c: #define x 3 #define f(a) f(x * (a)) #undef x #define x 2 #define g f #define z z[0] #define h g(~ #define m(a) a(w) #define w 0,1 #define t(a) a f(y+1) + f(f(z)) % t(t(g)(0) + t)(1); g(x+(3,4)-w) | h 5) m

[Tinycc-devel] macro substitution bug

2007-12-18 Thread ShangHongzhang 62185
given the following code, TCC can't expent it to correct result. #define t_fwd_rnd(x) x #define t_rnd(rm) t_fwd_rnd #define round(rm, x) t_rnd(rm)(x);t_rnd(rm)(x); void foo () { int b0; round(fwd_rnd, b0); } the correct result should be: b0; b0 but the TCC give the result of: b0 ;