Messages in this thread | | | From | "Magnus Naeslund(f)" <> | Subject | Re: macro conflict | Date | Thu, 23 Aug 2001 22:16:34 +0200 |
| |
From: <raybry@timesn.com> > Without digging through the archives to see if this has already > been suggested (if so, I apologize), why can't the following be done: > > min(x,y) = ({typeof((x)) __x=(x), __y=(y); (__x < __y) ? __x : __y}) > > That gets you the correct "evaluate the args once" semantics and gives > you control over typing (the comparison is done in the type of the > first argument) and we don't have to change a zillion drivers. > > (typeof() is a gcc extension.) >
But then again, how do you know it's the type of x we want, maybe we want type of y, that is and signed char (not an int like x). Talk about hidden buffer overflow stuff :)
Magnus
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Programmer/Networker [|] Magnus Naeslund PGP Key: http://www.genline.nu/mag_pgp.txt -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |