https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107028
Bug ID: 107028 Summary: [13 Regression][OpenACC] ICE in install_var_field, at omp-low.cc:797 Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, openacc Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org CC: tschwinge at gcc dot gnu.org Target Milestone: --- The following fails with an ICE https://github.com/OpenACCUserGroup/OpenACCV-V/blob/master/Tests/routine_bind_nonprototype_function_nonstring_function.cpp (I find it a bit surprising that even bunch of compile errors still reach this function, giving the ICE.) In any case, the following reduced code (which compiles without errors) gives an ICE, when compiled with 'g++ -fopenacc': class data_container { public: int data; }; void test2() { data_container a; #pragma acc data copyin(a, a.data) { } } Namely: during GIMPLE pass: omplower test2.cc: In function ‘void test2()’: test2.cc:8:9: internal compiler error: in install_var_field, at omp-low.cc:797 8 | #pragma acc data copyin(a, a.data) | ^~~ 0x83f00d install_var_field ../../repos/gcc-trunk-commit/gcc/omp-low.cc:797 0x109ab6c scan_sharing_clauses ../../repos/gcc-trunk-commit/gcc/omp-low.cc:1677 0x109c557 scan_omp_target ../../repos/gcc-trunk-commit/gcc/omp-low.cc:3110 0x109d340 scan_omp_1_stmt ../../repos/gcc-trunk-commit/gcc/omp-low.cc:4326 0xefcc7a walk_gimple_stmt(gimple_stmt_iterator*, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../repos/gcc-trunk-commit/gcc/gimple-walk.cc:602 0xefce80 walk_gimple_seq_mod(gimple**, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../repos/gcc-trunk-commit/gcc/gimple-walk.cc:51 0xefcd91 walk_gimple_stmt(gimple_stmt_iterator*, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../repos/gcc-trunk-commit/gcc/gimple-walk.cc:665 0xefce80 walk_gimple_seq_mod(gimple**, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../repos/gcc-trunk-commit/gcc/gimple-walk.cc:51 0xefcd39 walk_gimple_stmt(gimple_stmt_iterator*, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../repos/gcc-trunk-commit/gcc/gimple-walk.cc:711 0xefce80 walk_gimple_seq_mod(gimple**, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../repos/gcc-trunk-commit/gcc/gimple-walk.cc:51 0x10aadba scan_omp ../../repos/gcc-trunk-commit/gcc/omp-low.cc:4376 0x10aadba execute_lower_omp ../../repos/gcc-trunk-commit/gcc/omp-low.cc:14670