LLVM OpenMP 22.0.0git
pause_stop_tool.c
Go to the documentation of this file.
1// clang-format off
2// RUN: %libomp-compile-and-run | FileCheck %s
3// REQUIRES: ompt
4// clang-format on
5#include "callback.h"
6#include <omp.h>
7int main() {
8 int x = 0;
9 int ret = 0;
10#pragma omp parallel
11#pragma omp single
12 x++;
13 // Expected to fail; omp_pause_stop_tool must not be specified
14 ret = omp_pause_resource(omp_pause_stop_tool, omp_get_initial_device());
15 printf("omp_pause_resource %s\n", ret ? "failed" : "succeeded");
16#pragma omp parallel
17#pragma omp single
18 x++;
19 // Expected to succeed
20 ret = omp_pause_resource_all(omp_pause_stop_tool);
21 printf("omp_pause_resource_all %s\n", ret ? "failed" : "succeeded");
22#pragma omp parallel
23#pragma omp single
24 x++;
25 printf("x = %d\n", x);
26 return 0;
27
28 // clang-format off
29 // Check if
30 // -- omp_pause_resource/resource_all returns expected code
31 // -- OMPT interface is shut down as expected
32
33 // CHECK-NOT: {{^}}0: Could not register callback
34 // CHECK: 0: NULL_POINTER=[[NULL:.*$]]
35
36 // CHECK: ompt_event_parallel_begin
37 // CHECK: ompt_event_parallel_end
38
39 // CHECK: omp_pause_resource failed
40
41 // CHECK: ompt_event_parallel_begin
42 // CHECK: ompt_event_parallel_end
43
44 // CHECK: omp_pause_resource_all succeeded
45
46 // CHECK-NOT: ompt_event
47 // clang-format on
48}
return ret
int omp_get_initial_device(void)
int main()