1 /* { dg-do run } */
2
3 #include <stdlib.h>
4 #include <openacc.h>
5
6 int
7 main (int argc, char **argv)
8 {
9 int devnum;
10
11 if (acc_get_device_type () == acc_device_default)
12 abort ();
13
14 if (acc_get_num_devices (acc_device_nvidia))
15 {
16 acc_set_device_type (acc_device_nvidia);
17
18 if (acc_get_device_type () != acc_device_nvidia)
19 abort ();
20
21 acc_shutdown (acc_device_nvidia);
22
23 acc_set_device_type (acc_device_nvidia);
24
25 if (acc_get_device_type () != acc_device_nvidia)
26 abort ();
27
28 devnum = acc_get_num_devices (acc_device_host);
29 if (devnum != 1)
30 abort ();
31
32 acc_shutdown (acc_device_nvidia);
33 }
34
35 if (acc_get_num_devices (acc_device_radeon))
36 {
37 acc_set_device_type (acc_device_radeon);
38
39 if (acc_get_device_type () != acc_device_radeon)
40 abort ();
41
42 acc_shutdown (acc_device_radeon);
43
44 acc_set_device_type (acc_device_radeon);
45
46 if (acc_get_device_type () != acc_device_radeon)
47 abort ();
48
49 devnum = acc_get_num_devices (acc_device_host);
50 if (devnum != 1)
51 abort ();
52
53 acc_shutdown (acc_device_radeon);
54 }
55
56 if (acc_get_device_type () == acc_device_default)
57 abort ();
58
59 return 0;
60 }