[Bug middle-end/39499] New: [4.4 Regression]: gcc.c-torture/execute/built-in-setjmp.c execute -O2 and above
hp at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Mar 18 23:42:00 GMT 2009
+++ This bug was initially created as a clone of Bug #38609 +++
See PR38609 comment 12.
I noticed that reload1.c:set_label_offsets assumes that all labels reachable
from indirect jumps are assumed to be at their "initial elimination offsets",
which fails if there's an alloca call or similar adjustment before the're
reached. For *some* targets, gcc.c-torture/execute/built-in-setjmp.c expose
this bug, but one or more separate test-cases is called for to expose it for
the wider audience: main is not useful wherein to test sp vs. fp
misadjustments, and the test-case should not need for run-time sp realignments,
else for many targets, fp->sp elimination will not happen. Also, computed
gotos can be probably also be used to expose the bug, rather than
__builtin_setjmp/longjmp. This code deserves to be fixed correctly, but
considering the current development stage and the limited use of this code,
I'll do like other targets and bail out for cris*-*-* by forcing a
frame-pointer. Therefore this clone.
--
Summary: [4.4 Regression]: gcc.c-torture/execute/built-in-
setjmp.c execute -O2 and above
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hp at gcc dot gnu dot org
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: cris-axis-elf
BugsThisDependsOn: 38609
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39499
More information about the Gcc-bugs
mailing list