Morten Welinder <[EMAIL PROTECTED]> writes: | | signed types are undefined on overflow. [5/5] and [3.9.1/2,3] | | > But a compiler could define them to be modulo -- that is the whole | > point. The paragraph does not say they don't "modulo". | | True, but you are going to have to deal with the run-time version of | | (int)0x80000000 / -1 | | which is unpleasant in the sense that Intel processors will trap and not | do anything modulo-like.
If such things really yields undefined behaviour on Intel's then numeric_limits<> for Intel's should be changed accoordingly. It does not imply that numeric_limits<>::is_modulo is false for all targets supported by GCC. -- Gaby