Back to MIN/MAX definitions. Anyone try compiling this ?? #define MAX(a,b) \ ({ \ __typeof__ (a) _a = (a); \ __typeof__ (b) _b = (b); \ _a > _b ? _a : _b; \ }) enum { VALUE = MAX (1000, 10) }; main() { printf("%d\n",VALUE); } Even adding __extension__ doesn't work. Alan.