https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119775
Bug ID: 119775
Summary: [OpenMP] ICE with append_args in iobj member function
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: waffl3x at gcc dot gnu.org
Target Milestone: ---
https://godbolt.org/z/PYff7Gxoa
```
enum omp_interop_t : __UINTPTR_TYPE__;
struct S {
void v(int, omp_interop_t) {}
#pragma omp declare variant(v) match(construct={dispatch}) \
append_args(interop(target))
void b(int) {}
};
void f()
{
#pragma omp dispatch
S{}.b(42);
}
```
<source>:14:3: internal compiler error: tree check: accessed operand 6 of
call_expr with 5 operands in modify_call_for_omp_dispatch, at gimplify.cc:3969
14 | S{}.b(42);
| ^
I noticed this while preparing my PR119659 patch for submission,
it's right around the same area, similar cause
This will be fixed alongside that patch.