]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
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)
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

index b0537b8ff0bec82a636625cb6c922e2b6422edb2..e5f3e5740da309ca066840d09f4ac8c73c0cf53b 100644 (file)
@@ -7,6 +7,8 @@
 
 ! { dg-additional-options "-fdump-tree-oaccloops" }
 
+! { dg-additional-options "-fno-inline" } for stable results regarding OpenACC 'routine'.
+
 program main
   use openacc
   implicit none