Bug 117702

Summary: internal compiler error
Product: [Fedora] Fedora Reporter: randhir <randhirkumar.singh>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: 3.3.3-3 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-03-17 12:54:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 114963    
Attachments:
Description Flags
internal compiler error none

Description randhir 2004-03-07 17:29:47 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1)
Gecko/20031030

Description of problem:
When I build Intel's OpenCV library, I get this internal compiler
error,  and the source does not compiler.

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

How reproducible:
Always

Steps to Reproduce:
1.make OpenCV library
2.
3.
    

Additional info:

Comment 1 randhir 2004-03-07 17:32:37 UTC
Created attachment 98358 [details]
internal compiler error

Comment 2 Jakub Jelinek 2004-03-08 15:44:24 UTC
Reproduced, though on IA-32 only, not x86-64 (and as there is no
-m32 switch in the options, I assume it is real IA-32).
Simplified into:
/* { dg-do compile } */
/* { dg-options "-march=i686 -O2 -ffast-math -fPIC" { target i?86-*-* } } */

extern double foo (double x);
extern double bar (double x, double y);
extern double baz (double x) __attribute__ ((__const__));

void
test (double x, double y, double z)
{
  double a[7], b, c;
  int i;

  b = -x * x / 3;
  for (i = 0; i < 6; i++)
    a[i] = -x / 3;
  c = bar (baz (y), 1.0 / 3) - b / 3.0 * bar (baz (y), -1.0 / 3);
  if (!(y < 0.001 && y > -0.001))
    a[i] = foo (z / 3.0) * c;
}