optimization/8300: ICE in gen_reg_rtx, at emit-rtl.c:662

rschiele@uni-mannheim.de rschiele@uni-mannheim.de
Mon Oct 21 06:06:00 GMT 2002

>Number:         8300
>Category:       optimization
>Synopsis:       ICE in gen_reg_rtx, at emit-rtl.c:662
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Mon Oct 21 06:06:00 PDT 2002
>Originator:     Robert Schiele
>Release:        3.2.1 20021020 (prerelease)
System: SunOS manray 5.8 Generic_108528-14 sun4u sparc SUNW,Ultra-4
Architecture: sun4
host: sparc-sun-solaris2.8
build: sparc-sun-solaris2.8
target: sparc-sun-solaris2.8
configured with: /home/schiele/gcccvs/gcc.gcc-3_2-branch/configure --enable-threads=posix --prefix=/opt/Pkg/SunOS/gcc321 --enable-languages=c,c++,f77,objc --disable-libgcj --with-gxx-include-dir=/opt/Pkg/SunOS/gcc321/include/g++ --with-system-zlib --enable-shared sparc-sun-solaris2.8
The attached code results in an ICE on both, sparc-sun-solaris2.8 and sparc64-sun-solaris2.8 when compiled with optimizations turned on.  This does _not_ happen in sparc-*-linux.

Note: This is a regression to 2.95.3!
gcc -O ice.i

Content-Type: text/plain; name="ice.i"
Content-Disposition: inline; filename="ice.i"

void a() {
    double b;
    int c = *((int*)&b) && (*(&c + 1) = 0);

More information about the Gcc-bugs mailing list