Bug 102493
| Summary: | internal compiler error | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Retired] Red Hat Raw Hide | Reporter: | David Weenink <dweenink> | ||||
| Component: | gcc | Assignee: | Jakub Jelinek <jakub> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |||||
| Severity: | high | Docs Contact: | |||||
| Priority: | high | ||||||
| Version: | 1.0 | ||||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | i686 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | 3.3.1-4 | Doc Type: | Bug Fix | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2004-10-02 18:27:50 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: | 100644 | ||||||
| Attachments: |
|
||||||
Created attachment 93670 [details]
Preprocessed source
Good luck it is a complicated file!
Reduced into:
/* { dg-do compile } */
/* { dg-options "-O" } */
struct A
{
long a1;
double *a2;
};
struct B
{
void *b1;
double b2, b3;
struct
{
int d1;
double d2;
} b4;
};
struct C
{
struct A *c1;
void *c2;
};
long fn1 (struct A *, double);
void fn2 (void *, const char *);
double fn3 (double);
double fn4 (double);
int fn5 (void *, double, double);
int
foo (struct B *x)
{
struct C *e = x->b1;
struct A *f = e->c1;
long g, h, i;
double *j, k;
g = fn1 (f, 0.5 * (x->b2 + x->b3)), h = g + 1, i = f->a1;
j = f->a2, k = x->b4.d2;
fn2 (x, "something");
if (g <= 0)
{
double l = j[2] - j[1];
if (l > 0.0 && l <= 0.02)
k = (x->b4.d1 == 1
? ((1.0 / l) < 25 ? 25 : (1.0 / l))
: fn3 ((1.0 / l) < 25 ? 25 : (1.0 / l)));
}
else
{
double m = j[h] - j[g], n = 0.0, l = 0.0;
if (g > 1)
n = j[g] - j[g - 1];
if (h < i)
l = j[h + 1] - j[h];
if (n > 0.02)
n = 0;
if (m > 0.02)
m = 0;
if (l > 0.02)
l = 0;
if (m < n)
{
double o = m;
m = n;
n = o;
}
if (l < n)
{
double o = l;
l = n;
n = o;
}
if (l < m)
{
double o = l;
l = m;
m = o;
}
if (n != 0.0)
k = (x->b4.d1 == 1
? ((1 / m) < 25 ? 25 : (1 / m))
: fn3 ((1 / m) < 25 ? 25 : (1 / m)));
else if (m != 0.0)
k = (x->b4.d1 == 1
? ((2 / (m + l)) < 25 ? 25 : (2 / (m + l)))
: fn3 ((2 / (m + l)) < 25 ? 25 : (2 / (m + l))));
else if (l != 0.0)
k = (x->b4.d1 == 1
? ((1 / l) < 25 ? 25 : (1 / l))
: fn3 ((1 / l) < 25 ? 25 : (1 / l)));
}
fn5 (e->c2, 0.5 * (x->b2 + x->b3), (x->b4.d1 == 1 ? k : fn4 (k)));
return 1;
}
|
Description of problem: internal compiler error: Version-Release number of selected component (if applicable): gcc (GCC) 3.3.1 20030811 (Red Hat Linux 3.3.1-1) How reproducible: gcc -DUNIX -Wimplicit -Wreturn-type -Wunused -Wunused-parameter -Wuninitialized -Wmissing-prototypes -Wmissing-declarations -O -g -I /usr/X11R6/include -I /usr/src/linux/include -I ../sys -I ../dwsys -I ../dwtools -I ../LPC -I ../fon -c -o ManipulationEditor.o ManipulationEditor.c Steps to Reproduce: 1. just compile 2. 3. Actual results: ManipulationEditor.c: In function `cb_addPitchPointAtSlice': ManipulationEditor.c:296: internal compiler error: in final_scan_insn, at final.c:2801 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla> for instructions. Preprocessed source stored into /tmp/ccMosjBq.out file, please attach this to your bugreport Expected results: Normal compilation Additional info: attached Preprocessed source