Michal Suchanek wrote: >> With typeof macro this can be made type-neutral avoiding potential mistakes. >> +static inline long >> +grub_min (long x, long y) >> +{ >> + if (x > y) >> + return y; >> + else >> + return x; >> +} >> + >> > > I don't see how typeof would be used. As I understand the docs it can > only set types relative to something what is already defined (and in > some cases actually dereference/call it) and there is nothing defined > at the point these functions are declared to copy the type from. > #include #define swap(a,b) {typeof (a) mytemp ## __LINE__; mytemp ## __LINE__ = b; b = a; a = mytemp ## __LINE__; } int main () { int x = 1, y = 2; swap (x,y); printf ("%d, %d\n", x, y); } -- Regards Vladimir 'φ-coder/phcoder' Serbinenko