Pathalogical divides

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Mon Sep 25 02:43:00 GMT 2000


    It says, in s. 6.5 paragraph 5 of ISO/IEC 9899:1999:

     If an _exceptional condition_ occurs during the evaluation of an
     expression (that is, if the result is not mathematically defined or
     not in the range of representable values for its type), the behaviour
     is undefined.

    'undefined behaviour' can always include a signal, or anything else
    that a mad compiler designer could dream up.

Sure, except that the (largest_negtive_number % -1) *is* mathematically
defined: anything mod -1 is 0!  It's the corresponding *division* that's
undefined, but that isn't what the programmer is requesting.


More information about the Gcc mailing list