Bug 24741
| Summary: | Internal compiler error (testcase: 27 lines) | ||
|---|---|---|---|
| Product: | [Retired] Red Hat Raw Hide | Reporter: | Olivier Baudron <olivier.baudron> |
| Component: | gcc | Assignee: | Jakub Jelinek <jakub> |
| Status: | CLOSED RAWHIDE | QA Contact: | David Lawrence <dkl> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 1.0 | ||
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | i386 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2001-02-03 23:24:10 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: | |||
I updated to gcc-2.96-71.i386.rpm and got the same problem.
Also, I can provide a shorter testcase, that crashes gcc, and this candidate is
certainly very close to the world record! :-)
/* ---------- testcase.c -------- */
extern __inline__ int f1 (int x) {
return f2(0);
}
int f3 (int y) {
if (f1(y)) return 0;
}
int f1 (int x) {
return 0;
}
/* ----------- end --------------- */
baud:~$ gcc -O2 -ggdb3 -c testcase.c
testcase.c: In function `f1':
testcase.c:14: Internal compiler error in add_abstract_origin_attribute, at
dwarf2out.c:7744
Fixed in gcc-2.96-72. Huuuh..., sorry. I forgot kgcc was my default compiler.
gcc-2.96-72 doesn't fix the problem.
The following testcase makes an internal compiler error with flags: -O2 -ggdb3
extern __inline__ int f1 (int x) {return f2(0);}
int f3 (int y) {return f1(y);}
int f1 (int x) {return 0;}
Happens both with our 2.96 and CVS head, will try to debug this in the coming week. Should be worked-around in gcc-2.96-75. |
gcc is 2.96-70 and the testcase is: /* ---------- testcase.c ----------*/ struct argp_option { int key; }; struct argp { __const struct argp_option *options; }; extern __inline__ int _option_is_short (__const struct argp_option *__opt) { return isprint (__opt->key); } struct group { void *hook; }; int convert_options (const struct argp *argp, struct group *group) { const struct argp_option *opt = argp->options; if (_option_is_short(opt)) return 0; } int _option_is_short (__const struct argp_option *__opt) { return 0; } /* ---------------- end ----------------- */ baud:~$ gcc -O2 -ggdb3 -c testcase.c testcase.c: In function `_option_is_short': testcase.c:30: Internal compiler error in add_abstract_origin_attribute, at dwarf2out.c:7744 Please submit a full bug report. See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.