optimization/4382: [3.2/3.3 regression] __builtin_{set,long}jmp with -O3 can crash the compiler
bangerth@dealii.org
bangerth@dealii.org
Fri Dec 6 15:55:00 GMT 2002
Old Synopsis: __builtin_{set,long}jmp with -O3 can crash the compiler
New Synopsis: [3.2/3.3 regression] __builtin_{set,long}jmp with -O3 can crash the compiler
State-Changed-From-To: open->analyzed
State-Changed-By: bangerth
State-Changed-When: Fri Dec 6 15:55:04 2002
State-Changed-Why:
Confirmed. I get with 3.2.2pre and 3.3pre:
tmp/g> /home/bangerth/bin/gcc-3.2.2-pre/bin/gcc -c -O3 x.c
x.c: In function `main':
x.c:21: Internal compiler error in make_edges, at cfgbuild.c:402
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
tmp/g>
tmp/g>
tmp/g>
tmp/g> /home/bangerth/bin/gcc-3.3-pre/bin/gcc -c -O3 x.c
x.c: In function `main':
x.c:21: error: Wrong amount of branch edges after unconditional jump 0
x.c:21: internal compiler error: verify_flow_info failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
This used to work with 2.95, but failed with 3.0 first.
The following slighty simpler code also crashes the compiler,
but please don't anyone ask me whether this makes any
sense any more:
-------------------------------
void jumpaway(int *ptr) {
__builtin_longjmp(ptr,1);
}
int main(void) {
__builtin_setjmp(0);
jumpaway(0);
}
--------------------------
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=4382
More information about the Gcc-prs
mailing list