aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c/declare-variant-2.c
blob: 666ab20ea5f8aaff4c7aafb2d2efc13a1079d260 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/* { dg-do run } */

#include <omp.h>
#include <stdlib.h>

void
foo_host (void)
{
  if (!omp_is_initial_device ())
    abort ();
}

#pragma omp declare variant (foo_host) match (device={kind(host)})
void
foo (void)
{
  if (omp_is_initial_device ())
    abort ();
}

void
bar_nohost (void)
{
  if (omp_is_initial_device ())
    abort ();
}

#pragma omp declare variant (bar_nohost) match (device={kind(nohost)})
void
bar (void)
{
  if (!omp_is_initial_device ())
    abort ();
}

int
main ()
{
  #pragma omp target
  {
    foo ();
    bar ();
  }
  return 0;
}