https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89047
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to G. Steinmetz from comment #0) > With option -fopenacc, down to at least version 5 : > real function f() > !$acc update device (f) > end This now compiles and the dump (-fdump-tree-omplower) looks fine: .omp_data_arr.1.__result_p = &__result_f; #pragma omp target oacc_update map(force_to:__result_f [len: 4]) Namely, the result variable "f" (internally: "__result_f") is used. Close as FIXED – even without knowing which commit it did fix. [I have not added it as test case, though one could argue, one should.]