// RUN: %libomp-compile-and-run | %sort-threads | FileCheck %s
// REQUIRES: ompt
#include "callback.h"
#include <omp.h>

int main() {
  int x = 0;
#pragma omp parallel num_threads(4)
  {
#pragma omp atomic
    x++;
  }

  // CHECK: 0: NULL_POINTER=[[NULL:.*$]]

  // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_thread_begin:
  // CHECK-SAME: thread_type=ompt_thread_initial=1, thread_id=[[MASTER_ID]]
  // CHECK: {{^}}[[MASTER_ID]]: ompt_event_thread_end:
  // CHECK-SAME: thread_id=[[MASTER_ID]]
  // CHECK: {{^}}[[WORKER_ID1:[0-9]+]]: ompt_event_thread_begin:
  // CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID1]]
  // CHECK: {{^}}[[WORKER_ID1]]: ompt_event_thread_end:
  // CHECK-SAME: thread_id=[[WORKER_ID1]]
  // CHECK: {{^}}[[WORKER_ID2:[0-9]+]]: ompt_event_thread_begin:
  // CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID2]]
  // CHECK: {{^}}[[WORKER_ID2]]: ompt_event_thread_end:
  // CHECK-SAME: thread_id=[[WORKER_ID2]]
  // CHECK: {{^}}[[WORKER_ID3:[0-9]+]]: ompt_event_thread_begin:
  // CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID3]]
  // CHECK: {{^}}[[WORKER_ID3]]: ompt_event_thread_end:
  // CHECK-SAME: thread_id=[[WORKER_ID3]]

  return 0;
}
