optimization/4711: ICE in eliminate_regs, at reload1.c:2576

aaronl@vitelus.com aaronl@vitelus.com
Sat Oct 27 12:26:00 GMT 2001


>Number:         4711
>Category:       optimization
>Synopsis:       ICE in eliminate_regs, at reload1.c:2576
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Sat Oct 27 12:26:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     aaronl@vitelus.com
>Release:        gcc version 3.1 20011027 (experimental)
>Organization:
>Environment:
Linux endquote 2.4.9-ac10 #1 Fri Sep 14 00:02:50 PDT 2001 i686 unknown
>Description:
Hello,

I notice that this bug has been reported many times, for example in #4555, #4387, #4384, #3835, #3214, and #2426. However, the bug reporting guidelines say to report new bugs as followups to old ones.

I have developed a minimal test case that will reproduce "Internal compiler error in eliminate_regs, at reload1.c:2576":

void testfunc(char* foo, int bar)
{
        fd_set readfds;
        fd_set rfds = readfds;

        switch (bar)
        {
                case 0:
                        break;
                default:
                        if ((__extension__ ({register char __result; __asm__
__volatile__ ("btl %1,%2 ; setcb %b0" : "=q" (__result) : "r" (0), "m"
(*(&rfds)->fds_bits) : "cc"); __result; })))
                                break;
        }
}

Compile this with -O[23s] and it will ICE. -O[01] will not cause it to.
>How-To-Repeat:
Compile the self-contained testcase contained in the description.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list