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

            Bug ID: 79499
           Summary: ICE in rtl_verify_bb_insns, at cfgrtl.c:2661
           Product: gcc
           Version: 7.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gerhard.steinmetz.fort...@t-online.de
  Target Milestone: ---

Version 6/7 with a involved -fno-omit-frame-pointer (at -Os|2|3)
ICEs for at least two testsuite files pr57478.c, pr78542.c :


$ cat pr57478.c
typedef struct Node Node;
struct Node
{
  Node *Pred, *Suc;
  Node *SubBestPred;
  Node *SubBestSuc;
};
void
foo (Node *N)
{
  do
    {
      N->SubBestPred = N->Pred;
      N->SubBestSuc = N->Suc;
    }
  while (N = N->Suc);
}


$ gcc-7-20170212 -O2 -fsplit-stack -c pr57478.c
$ gcc-7-20170212 -O2 -fsplit-stack -fno-omit-frame-pointer -c pr57478.c
pr57478.c: In function 'foo':
pr57478.c:17:1: error: in basic block 2:
 }
 ^
pr57478.c:17:1: error: flow control insn inside a basic block
(jump_insn 22 21 23 2 (set (pc)
        (if_then_else (geu (reg:CC 17 flags)
                (const_int 0 [0]))
            (label_ref 27)
            (pc))) "pr57478.c":10 -1
     (int_list:REG_BR_PROB 9900 (nil))
 -> 27)
pr57478.c:17:1: internal compiler error: in rtl_verify_bb_insns, at
cfgrtl.c:2661
0xb894d8 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ../../gcc/rtl-error.c:108
0x7d2d63 rtl_verify_bb_insns
        ../../gcc/cfgrtl.c:2661
0x7d2d63 rtl_verify_flow_info_1
        ../../gcc/cfgrtl.c:2747
0x7d2dc5 rtl_verify_flow_info
        ../../gcc/cfgrtl.c:2989
0x7c20d5 verify_flow_info()
        ../../gcc/cfghooks.c:258
0xb17981 execute_function_todo
        ../../gcc/passes.c:1978
0xb18395 execute_todo
        ../../gcc/passes.c:2016

Reply via email to