1/* e_19_3.t: Redefinitions of macros. */ 2 3/* Excerpts from ISO C 3.8.3 "Examples". */ 4 5#define OBJ_LIKE (1-1) 6#define FTN_LIKE(a) ( a ) 7 8/* The following redefinitions should be diagnosed. */ 9 10/* 19.3: */ 11#define OBJ_LIKE (0) /* different token sequence */ 12 13/* (1-1); or (0); */ 14 OBJ_LIKE; 15 16/* 19.4: */ 17#undef OBJ_LIKE 18#define OBJ_LIKE (1-1) 19#define OBJ_LIKE (1 - 1) /* different white space */ 20 21/* 19.5: */ 22#define FTN_LIKE(b) ( a ) /* different parameter usage */ 23 24/* ( x ); or ( a); */ 25 FTN_LIKE(x); 26 27/* 19.6: */ 28#undef FTN_LIKE 29#define FTN_LIKE(a) ( a ) 30#define FTN_LIKE(b) ( b ) /* different parameter spelling */ 31 32/* 19.7: Not in ISO C "Examples" */ 33#define FTN_LIKE OBJ_LIKE 34 35