c/7102: unsigned char divisision results in floating exception

klfd21@yahoo.de klfd21@yahoo.de
Sun Jun 23 19:50:00 GMT 2002


>Number:         7102
>Category:       c
>Synopsis:       unsigned char divisision results in floating exception
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Sun Jun 23 03:06:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Martin Wille
>Release:        3.1
>Organization:
>Environment:
System: Linux Rosinante 2.4.4 #13 Sat Jul 7 09:23:17 CEST 2001 i686 unknown
Architecture: i686

    <machine, os, target, libraries (multiple lines)>
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../gcc-3.1/configure --enable-threads --prefix=/usr/local/gcc-3.1
>Description:
Floating exception results from unsigned char divisision 255/2
>How-To-Repeat:
gcc -O0 unsigned_char_division_error.c
./a.out
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="unsigned_char_division_error.c"
Content-Disposition: inline; filename="unsigned_char_division_error.c"

typedef unsigned char u8;
void fun(u8 y) { u8 x=((u8)255)/y; }
int main() { fun(2); }



More information about the Gcc-bugs mailing list