xref: /llvm-project/offload/test/mapping/alloc_fail.c (revision 330d8983d25d08580fc1642fea48b2473f47a9da)
1*330d8983SJohannes Doerfert // RUN: %libomptarget-compile-generic
2*330d8983SJohannes Doerfert // RUN: %libomptarget-run-fail-generic 2>&1 \
3*330d8983SJohannes Doerfert // RUN: | %fcheck-generic
4*330d8983SJohannes Doerfert 
5*330d8983SJohannes Doerfert // CHECK: omptarget message: explicit extension not allowed: host address specified is 0x{{.*}} (8 bytes), but device allocation maps to host at 0x{{.*}} (8 bytes)
6*330d8983SJohannes Doerfert // CHECK: omptarget error: Call to getTargetPointer returned null pointer (device failure or illegal mapping).
7*330d8983SJohannes Doerfert // CHECK: omptarget fatal error 1: failure of target construct while offloading is mandatory
8*330d8983SJohannes Doerfert 
main()9*330d8983SJohannes Doerfert int main() {
10*330d8983SJohannes Doerfert   int arr[4] = {0, 1, 2, 3};
11*330d8983SJohannes Doerfert #pragma omp target data map(alloc : arr[0 : 2])
12*330d8983SJohannes Doerfert #pragma omp target data map(alloc : arr[1 : 2])
13*330d8983SJohannes Doerfert   ;
14*330d8983SJohannes Doerfert   return 0;
15*330d8983SJohannes Doerfert }
16