[Bug c/17913] New: ICE jumping into statement expression

jsm28 at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Oct 9 19:23:00 GMT 2004


The following code gives an ICE (no special compilation options needed):

void f(void) { 1 ? 1 : ({ a : 1; 1; }); goto a; }

t.c: In function 'f':
t.c:1: internal compiler error: virtual array label to block map[20]: element
4294967295 out of bounds in label_to_block, at /tree-cfg.c:622
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

The ICE is a bug, which is a regression.  If this is to be permitted
then the real bug may be that we optimise the conditional expression
too early, though I think the proper fix is to reject jumping into
a constant expression (per bug 772) even if people have real code
that wants to jump *out* of them.

-- 
           Summary: ICE jumping into statement expression
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jsm28 at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17913



More information about the Gcc-bugs mailing list