]> git.ipfire.org Git - thirdparty/gcc.git/commit
libgomp.c-c++-common/metadirective-1.c: Expect 'error:' for nvptx compile [PR118694]
authorTobias Burnus <tburnus@baylibre.com>
Fri, 23 May 2025 09:30:48 +0000 (11:30 +0200)
committerTobias Burnus <tburnus@baylibre.com>
Mon, 26 May 2025 17:10:04 +0000 (19:10 +0200)
commitcf619d4a366ad428421fdb7ad617b4749799cf93
tree70f4df3c9aa0ea2470c72dc1041c7f94c2e52487
parent9c8e20a8425f123abd54261d03af5a956d4d01c6
libgomp.c-c++-common/metadirective-1.c: Expect 'error:' for nvptx compile [PR118694]

OpenMP's 'target teams' is strictly coupled with 'teams'; if the latter
exists, the kernel is launched in directly with multiple teams. Thus,
the host has to know whether the teams construct exists or not. For

   #pragma omp target
     #pragma omp metadirective when (device={arch("nvptx")}: teams loop)

it is simple when 'nvptx' offloading is not supported, otherwise it depends
on the default device at runtime as the user code asks for a single team for
host fallback and gcn offload and multiple for nvptx offload.

In any case, this commit ensures that no FAIL is printed, whatever a
future solution might look like. Instead of a dg-bogus combined with an
'xfail offload_target_nvptx', one an also argue that a dg-error for
'target offload_target_nvptx' would be more appropriate.

libgomp/ChangeLog:

PR middle-end/118694
* testsuite/libgomp.c-c++-common/metadirective-1.c: xfail when
compiling (also) for nvptx offloading as an error is then expected.

(cherry picked from commit b3d07ec7ac2ccd935a79b29e1a0e2eb16225286a)
libgomp/testsuite/libgomp.c-c++-common/metadirective-1.c