min/max and types

John Alvord jalvo at mbay.net
Thu Sep 20 14:15:58 CDT 2001


On Thu, 20 Sep 2001 21:03:20 +0200, eric pouech
<eric.pouech at wanadoo.fr> wrote:

>(resent because of mail issues)
>
>still thinking about it, there is however some points I don't like (and
>especially for keeping it permanent)
>errors we want to catch are mainly related to sign mismatch
>(like min(char, unsigned short)...)
>
>however, comparaisons like min(short, int) or min(size_t, DWORD) don't
>provide lots of errors. integral promotions are straightforward, and
>behave as expected by any programmer. so it would be rather ugly IMO
>to write something like min((int)s, i) (s being short and i int)
>
>on the other hand, in the case of min(char, unsigned short), only
>experienced programmers are able to tell the order of integral
>promotions
>involved here, and we really do need some guidance here. unfortunately, 
>I don't see any ways not to let the min/max macro only spit errors on 
>integral type of same sign-ness

Another argument in the L-K debate was that precisely the same problem
exists when comparing variables... and comparisons are much more
common then min/max. One person suggested a LE/GT/etc set of #defines
to capture those errors. Not an easy job.

john




More information about the wine-devel mailing list