Do you still get an 0C9 with FLOAT(IEEE)? I suspect not.
On 31/07/2013, at 8:53 AM, Paul Gilmartin <[email protected]> wrote:
> The program:
>
> /* Doc: does C implementation detect integer overflow?
> */
> #include <stdio.h>
>
> int main( void ) {
> signed int I;
> for ( I = 1; I *= 2; ) ;
> printf( "Overflow undetected.\n" );
> I = 42 / I;
> }
>
> ... prints:
>
> Overflow undetected.
>
> Grrr. I'd rather be informed of errors. But I guess it's traditional to
> ignore
> this one (I've tried a few other C implementations with similar results),
> even though ANSI C allows reporting it:
>
> if an /exception/ occurs during the evaluation of an expression
> (that is, the result is not mathematically defined or not in the range
> of representable values for its type), the behavior is undefined.
>
> From the CEEDUMP:
>
> PSW..... 078D2400 C7F089C0
>
> I guess fixed-point overflow is disabled. I see no option to enable it.
> I could try turning it on in an assembler routine, but I suspect that
> would break numerous run-time library routines.
>
> Then:
>
> CEE3209S The system detected a fixed-point divide exception (System
> Completion Code=0C9).
> From entry point main at compile unit offset +00000096 at entry
> offset +00000096 at address 47F089BE.
> [1] + Done(136) ( gmake overflow 2>&1 | tee log ) && ./overflow
> 50332526 Floating point exception ./overflow
>
> "Floating point"? Oh, well.
>
> -- gil
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN