[Bug c/79244] New: ice in replace_uses_by, at tree-cfg.c:1866

dcb314 at hotmail dot com gcc-bugzilla@gcc.gnu.org
Thu Jan 26 17:47:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79244

            Bug ID: 79244
           Summary: ice in replace_uses_by, at tree-cfg.c:1866
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

Created attachment 40590
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40590&action=edit
C source code

The attached code, when compiled by gcc trunk and flag -O2, does this:

$ ../results/bin/gcc -c -O2 bug331.c
source/pdf/pdf-repair.c: In function ‘pdf_repair_obj’:
source/pdf/pdf-repair.c:31:1: internal compiler error: in replace_uses_by, at
tree-cfg.c:1866
0xcdcbbe replace_uses_by(tree_node*, tree_node*)
        ../../trunk/gcc/tree-cfg.c:1866
0xf4e82e remove_range_assertions
        ../../trunk/gcc/tree-vrp.c:6978
0xf4e82e execute_vrp
        ../../trunk/gcc/tree-vrp.c:11299
0xf4e82e execute
        ../../trunk/gcc/tree-vrp.c:11377
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
$

This bug seems to have existed since sometime before revision 241433,
dated 20161115.

Reduced code seems to be

typedef enum {
  PDF_TOK_EOF,
  PDF_TOK_OPEN_DICT,
  PDF_TOK_INT,
  PDF_TOK_STREAM
} pdf_token;
pdf_repair_obj() {
  pdf_token a;
  __sigsetjmp();
  while (a != PDF_TOK_STREAM && a && a && a != PDF_TOK_INT)
    a = pdf_lex();
}


More information about the Gcc-bugs mailing list