1*1a0cf245SJan Patrick Lehr // RUN: %libomptarget-compile-run-and-check-x86_64-unknown-linux-gnu 2*1a0cf245SJan Patrick Lehr // RUN: %libomptarget-compile-x86_64-unknown-linux-gnu -DUNUSED -Wall -Werror 3330d8983SJohannes Doerfert 4330d8983SJohannes Doerfert // only run for x86_64 host offloading: 5*1a0cf245SJan Patrick Lehr // REQUIRES: x86_64-unknown-linux-gnu 6330d8983SJohannes Doerfert 7330d8983SJohannes Doerfert #include <omp.h> 8330d8983SJohannes Doerfert #include <stdio.h> 9330d8983SJohannes Doerfert 10330d8983SJohannes Doerfert int main() { 11330d8983SJohannes Doerfert int errors = 0; 12330d8983SJohannes Doerfert #ifdef UNUSED 13330d8983SJohannes Doerfert // Test if it is OK to leave the variants unused in the header 14330d8983SJohannes Doerfert #else // UNUSED 15330d8983SJohannes Doerfert int host = omp_is_initial_device(); 16330d8983SJohannes Doerfert int device = 1; 17330d8983SJohannes Doerfert #pragma omp target map(tofrom : device) 18330d8983SJohannes Doerfert { device = omp_is_initial_device(); } 19330d8983SJohannes Doerfert if (!host) { 20330d8983SJohannes Doerfert printf("omp_is_initial_device() returned false on host\n"); 21330d8983SJohannes Doerfert errors++; 22330d8983SJohannes Doerfert } 23330d8983SJohannes Doerfert if (device) { 24330d8983SJohannes Doerfert printf("omp_is_initial_device() returned true on device\n"); 25330d8983SJohannes Doerfert errors++; 26330d8983SJohannes Doerfert } 27330d8983SJohannes Doerfert #endif // UNUSED 28330d8983SJohannes Doerfert 29330d8983SJohannes Doerfert // CHECK: PASS 30330d8983SJohannes Doerfert printf("%s\n", errors ? "FAIL" : "PASS"); 31330d8983SJohannes Doerfert 32330d8983SJohannes Doerfert return errors; 33330d8983SJohannes Doerfert } 34