1 // RUN: %libomp-compile-and-run | %sort-threads | FileCheck %s
2 // REQUIRES: ompt
3 #include "callback.h"
4 #include <omp.h>
5 
main()6 int main() {
7   int x = 0;
8 #pragma omp parallel num_threads(4)
9   {
10 #pragma omp atomic
11     x++;
12   }
13 
14   // CHECK: 0: NULL_POINTER=[[NULL:.*$]]
15 
16   // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_thread_begin:
17   // CHECK-SAME: thread_type=ompt_thread_initial=1, thread_id=[[MASTER_ID]]
18   // CHECK: {{^}}[[MASTER_ID]]: ompt_event_thread_end:
19   // CHECK-SAME: thread_id=[[MASTER_ID]]
20   // CHECK: {{^}}[[WORKER_ID1:[0-9]+]]: ompt_event_thread_begin:
21   // CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID1]]
22   // CHECK: {{^}}[[WORKER_ID1]]: ompt_event_thread_end:
23   // CHECK-SAME: thread_id=[[WORKER_ID1]]
24   // CHECK: {{^}}[[WORKER_ID2:[0-9]+]]: ompt_event_thread_begin:
25   // CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID2]]
26   // CHECK: {{^}}[[WORKER_ID2]]: ompt_event_thread_end:
27   // CHECK-SAME: thread_id=[[WORKER_ID2]]
28   // CHECK: {{^}}[[WORKER_ID3:[0-9]+]]: ompt_event_thread_begin:
29   // CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID3]]
30   // CHECK: {{^}}[[WORKER_ID3]]: ompt_event_thread_end:
31   // CHECK-SAME: thread_id=[[WORKER_ID3]]
32 
33   return 0;
34 }
35