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

            Bug ID: 105188
           Summary: ICE in rtl_verify_bb_pointers, at cfgrtl.cc:2829
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Affects versions down to at least r5, at -O1+ :
(gcc configured with --enable-checking=yes)


$ cat z1.cc
typedef struct { char c[0x40000000]; } s;
void f (s);
int g (s *x)
{
  f (*x);
}


$ g++-12-20220403 -c z1.cc -O2
z1.cc: In function 'int g(s*)':
z1.cc:6:1: warning: no return statement in function returning non-void
[-Wreturn-type]
    6 | }
      | ^
z1.cc:5:5: sorry, unimplemented: passing too large argument on stack
    5 |   f (*x);
      |   ~~^~~~
during RTL pass: expand
z1.cc:6:1: internal compiler error: Segmentation fault
    6 | }
      | ^
0x10d3b0f crash_signal
        ../../gcc/toplev.cc:322
0xb90233 rtl_verify_bb_pointers
        ../../gcc/cfgrtl.cc:2829
0xb90233 rtl_verify_flow_info_1
        ../../gcc/cfgrtl.cc:2881
0xb90de2 rtl_verify_flow_info
        ../../gcc/cfgrtl.cc:3126
0xb7028a verify_flow_info()
        ../../gcc/cfghooks.cc:282
0x1e1e243 checking_verify_flow_info
        ../../gcc/cfghooks.h:214
0x1e1e243 try_optimize_cfg
        ../../gcc/cfgcleanup.cc:2980
0x1e1e2e3 cleanup_cfg(int)
        ../../gcc/cfgcleanup.cc:3143
0xb6d1c6 execute
        ../../gcc/cfgexpand.cc:6971

Reply via email to