]> git.ipfire.org Git - thirdparty/gcc.git/commit
Make the OpenMP 'error' directive work for nvptx offloading
authorThomas Schwinge <thomas@codesourcery.com>
Fri, 20 Aug 2021 13:12:56 +0000 (15:12 +0200)
committerThomas Schwinge <thomas@codesourcery.com>
Sun, 22 Aug 2021 09:08:26 +0000 (11:08 +0200)
commita5416bf369419428fb139c432bcd88f6f8ee4910
tree5dc426a016ae6f9f0282608f2588258834736b2a
parent4be4fa4ec7ffa16cb2b0e24f656ee0fcdf23b3e0
Make the OpenMP 'error' directive work for nvptx offloading

... and add a minimum amount of offloading testing.

(Leaving aside that 'fwrite' to 'stderr' probably wouldn't work anyway) the
'fwrite' calls in 'libgomp/error.c:GOMP_warning', 'libgomp/error.c:GOMP_error'
drag in 'isatty', which isn't provided by my nvptx newlib build at present, so
we get, for example:

    [...]
    FAIL: libgomp.c/../libgomp.c-c++-common/declare_target-1.c (test for excess errors)
    Excess errors:
    unresolved symbol isatty
    mkoffload: fatal error: [...]/build-gcc/./gcc/x86_64-pc-linux-gnu-accel-nvptx-none-gcc returned 1 exit status
    [...]

..., and many more.

Fix up for recent commit 0d973c0a0d90a0a302e7eda1a4d9709be3c5b102
"openmp: Implement the error directive".

libgomp/
* config/nvptx/error.c (fwrite, exit): Override, too.
* testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
of offloading testing.
* testsuite/libgomp.fortran/error-1.f90: Likewise.
libgomp/config/nvptx/error.c
libgomp/testsuite/libgomp.c-c++-common/error-1.c
libgomp/testsuite/libgomp.fortran/error-1.f90