Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
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: |
|
Description
David Weenink
2003-08-15 21:55:27 UTC
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; } |