Bug 87383

Summary: Internal compiler error in bundling, at config/ia64/ia64.c:6448
Product: [Retired] Red Hat Raw Hide Reporter: Tim Waugh <twaugh>
Component: gccAssignee: Vladimir Makarov <vmakarov>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.0CC: jakub
Target Milestone: ---   
Target Release: ---   
Hardware: ia64   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-04-05 22:14:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Description Flags
conf.c none

Description Tim Waugh 2003-03-26 15:46:38 UTC
Description of problem:
ICE while compiling cups-1.1.18-1 on ia64.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Save attached file as conf.c
2. gcc -O2 -c conf.c
Actual results:
conf.c: In function `get_address':
conf.c:1929: Internal compiler error in bundling, at config/ia64/ia64.c:6448
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.

Comment 1 Tim Waugh 2003-03-26 15:48:14 UTC
Created attachment 90724 [details]

Preprocessed source file.

Comment 2 Jakub Jelinek 2003-04-03 09:35:27 UTC
I believe this is the same as distilled testcase from glibc:

/* { dg-do compile { target ia64-*-* } } */
/* { dg-options "-O2" } */

foo (int x, int y)
  if (y == 0)
      register long r8 asm ("r8");
      register long r15 asm ("r15") = 1;
      long retval;
      __asm __volatile ("" : "=r" (r8), "=r" (r15) : "1" (r15));
      retval = r8;
      y = retval;

    register long r8 asm ("r8");
    register long r15 asm ("r15") = 2;
    long retval;
    register long _out1 asm ("out1") = x;
    register long _out0 asm ("out0") = y;
    __asm __volatile (""
                      : "=r" (r8), "=r" (r15) , "=r" (_out0), "=r" (_out1)
                      : "1" (r15) , "2" (_out0), "3" (_out1));
    retval = r8;
    return retval;

Comment 3 Vladimir Makarov 2004-04-05 22:14:21 UTC
  Sorry, I should have closed the bug.  It was fixed long ago and the
patch was been committed into gcc-3_2-rhl8_branch and into gcc public
repository.  I've checked gcc-3.2.3-31 (RHEL 3 Update 1) and
gcc-3_2-rhl8-branch, the bug is really gone.