Using dummy procedures in a target region with 'defaultmap(none)' leads to: Error: 'g' not specified in enclosing 'target' and this cannot be fixed by using 'firstprivate' as non-pointer dummy routines are rejected as "Error: Object 'g' is not a variable". Fixed by doing the same for mapping as for data sharing: using predetermined firstprivate. BTW: Only since GCC 14, 'declare target indirect' makes it possible to simply use dummy procedures and procedures pointers in a target region. Comments? Suggestions? Tobias PS: Procedure pointers aren't variables either, but they act even more like variables as they permit changing pointer association such that '(first)private' vs. 'shared'/'map' can both make sense. — GCC accepts those in (nearly) all clauses, ifort only in (first)private while flang not at all. The spec is somewhat silent about it. This is tracked in the same PR (PR114283) and in the specification issue #3823.