https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107369
Bug ID: 107369 Summary: [13 Regression] ICE: verify_flow_info failed (error: label 'l1' has incorrect context in bb 2) Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gcc 13.0.0 20221023 snapshot (g:0e37fd4dc74c1db99cdc7d71ef378e1221253c6f) ICEs when compiling the following testcase, reduced from gcc/testsuite/gcc.dg/attr-assume-3.c, w/ -O1: void foo (int x) { if (x == 1) goto l1; [[gnu::assume (({ l1:; 1; }))]]; } % aarch64-linux-gnu-gcc-13 -O1 -c bgoph4pp.c bgoph4pp.c: In function 'foo': bgoph4pp.c:5:5: error: jump into statement expression 5 | goto l1; | ^~~~ bgoph4pp.c:7:21: note: label 'l1' defined here 7 | [[gnu::assume (({ l1:; 1; }))]]; | ^~ bgoph4pp.c:2:1: error: label 'l1' has incorrect context in bb 2 2 | foo (int x) | ^~~ during GIMPLE pass: cfg bgoph4pp.c:2:1: internal compiler error: verify_flow_info failed 0xa39a8e verify_flow_info() /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221023/work/gcc-13-20221023/gcc/cfghooks.cc:284 0xf87e34 checking_verify_flow_info /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221023/work/gcc-13-20221023/gcc/cfghooks.h:214 0xf87e34 cleanup_tree_cfg_noloop /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221023/work/gcc-13-20221023/gcc/tree-cfgcleanup.cc:1161 0xf87e34 cleanup_tree_cfg(unsigned int) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221023/work/gcc-13-20221023/gcc/tree-cfgcleanup.cc:1212 0xf7d534 execute_build_cfg /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221023/work/gcc-13-20221023/gcc/tree-cfg.cc:378 0xf7d534 execute /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221023/work/gcc-13-20221023/gcc/tree-cfg.cc:412