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
8 int condition = 0;
9 int x = 0;
10 omp_set_nested(1);
11 #pragma omp parallel num_threads(2)
12 {
13 #pragma omp parallel num_threads(2)
14 {
15 OMPT_SIGNAL(condition);
16 OMPT_WAIT(condition, 4);
17 }
18 }
19
20 // CHECK: 0: NULL_POINTER=[[NULL:.*$]]
21
22 // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_thread_begin:
23 // CHECK-SAME: thread_type=ompt_thread_initial=1, thread_id=[[MASTER_ID]]
24 // CHECK: {{^}}[[MASTER_ID]]: ompt_event_thread_end:
25 // CHECK-SAME: thread_id=[[MASTER_ID]]
26 // CHECK: {{^}}[[WORKER_ID1:[0-9]+]]: ompt_event_thread_begin:
27 // CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID1]]
28 // CHECK: {{^}}[[WORKER_ID1]]: ompt_event_thread_end:
29 // CHECK-SAME: thread_id=[[WORKER_ID1]]
30 // CHECK: {{^}}[[WORKER_ID2:[0-9]+]]: ompt_event_thread_begin:
31 // CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID2]]
32 // CHECK: {{^}}[[WORKER_ID2]]: ompt_event_thread_end:
33 // CHECK-SAME: thread_id=[[WORKER_ID2]]
34 // CHECK: {{^}}[[WORKER_ID3:[0-9]+]]: ompt_event_thread_begin:
35 // CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID3]]
36 // CHECK: {{^}}[[WORKER_ID3]]: ompt_event_thread_end:
37 // CHECK-SAME: thread_id=[[WORKER_ID3]]
38
39 return 0;
40 }
41