From 17c5b7e1dc47bab6e6cedbf4b2d88cef3283533e Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 22 Oct 2020 09:33:17 +0200 Subject: [PATCH] openmp: Add test for OMP_TARGET_OFFLOAD=mandatory for cases where it must not fail 2020-10-22 Jakub Jelinek * testsuite/libgomp.c/target-41.c: New test. --- libgomp/testsuite/libgomp.c/target-41.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 libgomp/testsuite/libgomp.c/target-41.c diff --git a/libgomp/testsuite/libgomp.c/target-41.c b/libgomp/testsuite/libgomp.c/target-41.c new file mode 100644 index 0000000..d8d756f --- /dev/null +++ b/libgomp/testsuite/libgomp.c/target-41.c @@ -0,0 +1,33 @@ +/* { dg-set-target-env-var OMP_TARGET_OFFLOAD "mandatory" } */ + +#include +#include + +int v; + +void +foo (void) +{ + v++; +} + +#pragma omp declare target to (v, foo) + +int +main () +{ + /* OMP_TARGET_OFFLOAD=mandatory shouldn't fail for host fallback + if it is because the program explicitly asked for the host + fallback through if(false) or omp_get_initial_device () as + the device. */ + #pragma omp target if (v) + foo (); + #pragma omp target device (omp_get_initial_device ()) + foo (); + omp_set_default_device (omp_get_initial_device ()); + #pragma omp target + foo (); + if (v != 3) + abort (); + return 0; +} -- 2.7.4