1/* n_26.t: The name once replaced is not furthur replaced. */ 2 3/* 26.1: Directly recursive object-like macro definition. */ 4/* Z[0]; */ 5#define Z Z[0] 6 Z; 7 8/* 26.2: Intermediately recursive object-like macro definition. */ 9/* AB; */ 10#define AB BA 11#define BA AB 12 AB; 13 14/* 26.3: Directly recursive function-like macro definition. */ 15/* x + f(x); */ 16#define f(a) a + f(a) 17 f( x); 18 19/* 26.4: Intermediately recursive function-like macro definition. */ 20/* x + x + g( x); */ 21#define g(a) a + h( a) 22#define h(a) a + g( a) 23 g( x); 24 25/* 26.5: Rescanning encounters the non-replaced macro name. */ 26/* Z[0] + f( Z[0]); */ 27 f( Z); 28 29