1 /* { dg-require-effective-target lto } */
2 /* { dg-additional-options "-flto" } */
3 /* { dg-additional-options "-foffload-options=nvptx-none=-misa=sm_35" { target { offload_target_nvptx } } } */
4 /* { dg-additional-sources requires-4-aux.c } */
6 /* Same as requires-4.c, but uses heap memory for 'a'. */
8 /* Check no diagnostic by device-compiler's or host compiler's lto1.
9 Other file uses: 'requires reverse_offload', but that's inactive as
10 there are no declare target directives, device constructs nor device routines */
12 /* Depending on offload device capabilities, it may print something like the
13 following (only) if GOMP_DEBUG=1:
14 "devices present but 'omp requires unified_address, unified_shared_memory, reverse_offload' cannot be fulfilled"
15 and in that case does host-fallback execution.
17 No offload devices support USM at present, so we may verify host-fallback
18 execution by presence of separate memory spaces. */
20 #pragma omp requires unified_address,unified_shared_memory
23 extern void foo (void);
28 a
= (int *) __builtin_calloc (sizeof (int), 10);
29 #pragma omp target map(to: a)
30 for (int i
= 0; i
< 10; i
++)
33 for (int i
= 0; i
< 10; i
++)