https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63979
--- Comment #2 from Ilya Verbin <iverbin at gmail dot com> --- I tried to reproduce this issue using trunk gcc and OpenMP: gcc -fopenmp -flto -flto-partition=balanced -lgfortran -save-temps libgomp/testsuite/libgomp.fortran/target2.f90 But all functions are privatized, e.g. __target2_MOD_foo._omp_fn.3.lto_priv.5, it's exported as global hidden in partition 1, and referenced in the offload table in partition 0 as it was planned. We should figure out why in your case main._omp_fn.19 and main._omp_fn.20 were not marked as global...