This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

optimization/10402: [3.3/3.4 regression] [i486] ICE in merge_assigned_reloads, at reload1.c:6134


>Number:         10402
>Category:       optimization
>Synopsis:       [3.3/3.4 regression] [i486] ICE in merge_assigned_reloads, at reload1.c:6134
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Mon Apr 14 16:56:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Robert Schiele
>Release:        3.3 20030413 (prerelease), 3.4 20030413 (experimental)
>Organization:
>Environment:
System: Linux schiele 2.4.20-4GB-athlon #1 Mon Mar 17 17:56:47 UTC 2003 i686 unknown unknown GNU/Linux
Architecture: i686
host: i486-suse-linux-gnu
build: i486-suse-linux-gnu
target: i486-suse-linux-gnu
configured with: /local/src/gcc/configure --enable-threads=posix --prefix=/local/inst/gcc34 --enable-languages=c,c++,f77,objc --disable-checking --disable-libgcj --with-gxx-include-dir=/local/inst/gcc34/include/g++ --with-system-zlib --enable-shared --enable-__cxa_atexit i486-suse-linux
>Description:
When compiling the following code with optimization turned on, I get an ICE in merge_assigned_reloads, at reload1.c:6134:

void a()
{
    struct { long b; } *c, *d, *e;
    c = e;
    h();
    int f;
    asm volatile("" :"=S" (f), "=D" (f) :);
    asm("" : "=m" (c->b), "=b" (c) : "m" (d->b), "a" (c), "d" (d), "b" (c));
}

I am not absolutely sure, whether this code is legal, but I can't see why it should not.
>How-To-Repeat:
gcc -O -c ice.i
>Fix:

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]