https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100500
Bug ID: 100500 Summary: ICE with local label in OpenACC 'loop' region Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, openacc Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: tschwinge at gcc dot gnu.org Target Milestone: --- Created attachment 50786 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50786&action=edit 'c-c++-common/goacc/prN.c' Discovered in a builld of commit 3bc0d418a5d214a8ba57857656ca5c618df1a4bb sources, both for C, C++: [...]/prN.c: In function āf._omp_fn.0ā: [...]/prN.c:10:1: error: label ālā in the middle of basic block 9 10 | } | ^ during GIMPLE pass: fixup_cfg [...]/prN.c:10:1: internal compiler error: verify_flow_info failed #0 error (gmsgid=gmsgid@entry=0x1f5b4d0 "label %qD in the middle of basic block %d") at [...]/gcc/diagnostic.c:1697 #1 0x0000000000f0d266 in gimple_verify_flow_info () at [...]/gcc/tree-cfg.c:5612 #2 0x0000000000925fe4 in verify_flow_info () at [...]/gcc/cfghooks.c:267 #3 0x0000000000d81d13 in execute_function_todo (fn=0x7ffff76ad0b8, data=<optimized out>) at [...]/gcc/passes.c:2054 #4 0x0000000000d825fa in execute_todo (flags=64) at [...]/gcc/passes.c:2096 #5 0x0000000000d8552f in execute_one_pass (pass=pass@entry=0x2d19f30) at [...]/gcc/passes.c:2604 #6 0x0000000000d85b68 in execute_pass_list_1 (pass=0x2d19f30) at [...]/gcc/passes.c:2656 #7 0x0000000000d85bc5 in execute_pass_list (fn=<optimized out>, pass=<optimized out>) at [...]/gcc/passes.c:2667 #8 0x0000000000d86c31 in do_per_function_toporder (callback=0xd85bb0 <execute_pass_list(function*, opt_pass*)>, data=0x2d19f30) at [...]/gcc/passes.c:1773 #9 0x0000000000d86d67 in execute_ipa_pass_list (pass=0x2d19ed0) at [...]/gcc/passes.c:3003 #10 0x0000000000969bbf in ipa_passes () at [...]/gcc/cgraphunit.c:2154 #11 symbol_table::compile (this=this@entry=0x7ffff7543000) at [...]/gcc/cgraphunit.c:2289 #12 0x000000000096db5e in symbol_table::compile (this=0x7ffff7543000) at [...]/gcc/cgraphunit.c:2269 #13 symbol_table::finalize_compilation_unit (this=0x7ffff7543000) at [...]/gcc/cgraphunit.c:2537 #14 0x0000000000ec3bce in compile_file () at [...]/gcc/toplev.c:482 #15 0x000000000075a4ec in do_compile () at [...]/gcc/toplev.c:2201 #16 toplev::main (this=this@entry=0x7fffffffd4f0, argc=argc@entry=32, argv=argv@entry=0x7fffffffd608) at [...]/gcc/toplev.c:2340 #17 0x000000000075d0f7 in main (argc=32, argv=0x7fffffffd608) at [...]/gcc/main.c:39 #0 internal_error (gmsgid=gmsgid@entry=0x1ec3d7b "verify_flow_info failed") at [...]/gcc/diagnostic.c:1803 #1 0x00000000009260d8 in verify_flow_info () at [...]/gcc/cfghooks.c:269 #2 0x0000000000d81d13 in execute_function_todo (fn=0x7ffff76ad0b8, data=<optimized out>) at [...]/gcc/passes.c:2054 #3 0x0000000000d825fa in execute_todo (flags=64) at [...]/gcc/passes.c:2096 #4 0x0000000000d8552f in execute_one_pass (pass=pass@entry=0x2d19f30) at [...]/gcc/passes.c:2604 #5 0x0000000000d85b68 in execute_pass_list_1 (pass=0x2d19f30) at [...]/gcc/passes.c:2656 #6 0x0000000000d85bc5 in execute_pass_list (fn=<optimized out>, pass=<optimized out>) at [...]/gcc/passes.c:2667 #7 0x0000000000d86c31 in do_per_function_toporder (callback=0xd85bb0 <execute_pass_list(function*, opt_pass*)>, data=0x2d19f30) at [...]/gcc/passes.c:1773 #8 0x0000000000d86d67 in execute_ipa_pass_list (pass=0x2d19ed0) at [...]/gcc/passes.c:3003 #9 0x0000000000969bbf in ipa_passes () at [...]/gcc/cgraphunit.c:2154 #10 symbol_table::compile (this=this@entry=0x7ffff7543000) at [...]/gcc/cgraphunit.c:2289 #11 0x000000000096db5e in symbol_table::compile (this=0x7ffff7543000) at [...]/gcc/cgraphunit.c:2269 #12 symbol_table::finalize_compilation_unit (this=0x7ffff7543000) at [...]/gcc/cgraphunit.c:2537 #13 0x0000000000ec3bce in compile_file () at [...]/gcc/toplev.c:482 #14 0x000000000075a4ec in do_compile () at [...]/gcc/toplev.c:2201 #15 toplev::main (this=this@entry=0x7fffffffd4f0, argc=argc@entry=32, argv=argv@entry=0x7fffffffd608) at [...]/gcc/toplev.c:2340 #16 0x000000000075d0f7 in main (argc=32, argv=0x7fffffffd608) at [...]/gcc/main.c:39 Haven't tried very hard, but couldn't reproduce with OpenMP, so possibly a problem in the OpenACC 'loop' handling.