]> git.ipfire.org Git - thirdparty/gcc.git/commit
OpenACC 'nohost' clause: harmonize 'libgomp.oacc-{c-c++-common,fortran}/routine-nohos...
authorThomas Schwinge <tschwinge@baylibre.com>
Mon, 14 Oct 2024 12:38:13 +0000 (14:38 +0200)
committerThomas Schwinge <tschwinge@baylibre.com>
Mon, 14 Oct 2024 16:37:48 +0000 (18:37 +0200)
commitde0320712d026a2d1eeb57aef277fa5a91808ac2
treef0982b24f9b9857ffc89c6e5561fd532219b4640
parent707d84efee7f7eb5a336935f386e094402f267a6
OpenACC 'nohost' clause: harmonize 'libgomp.oacc-{c-c++-common,fortran}/routine-nohost-1.*'

The test case 'libgomp.oacc-fortran/routine-nohost-1.f90' added in 2021
commit a61f6afbee370785cf091fe46e2e022748528307 "OpenACC 'nohost' clause" was
dependend on inlining being enabled, and otherwise ('-fno-inline') failed to
optimize/link:

    /tmp/ccb2hsPd.o: In function `MAIN__._omp_fn.0':
    routine-nohost-1.f90:(.text+0xf4): undefined reference to `fact_nohost_'

However, as of recent commit 3269a722b7a03613e9c4e2862bc5088c4a17cc11
"Fortran: Use OpenACC's acc_on_device builtin, fix OpenMP' __builtin_is_initial_device",
we're now properly handling OpenACC/Fortran 'acc_on_device', and may specify
'-fno-inline', like done in 'libgomp.oacc-c-c++-common/routine-nohost-1.c'.

libgomp/
* testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Add
'-fno-inline'.
libgomp/testsuite/libgomp.oacc-fortran/routine-nohost-1.f90