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.

Reply via email to