// RUN: %libomp-compile-and-run 2>&1 | sort | FileCheck %s
// REQUIRES: ompt

#include <string.h>
#include <stdio.h>
#include "callback.h"

// TODO: use error directive when compiler suppors
typedef void ident_t;
extern void __kmpc_error(ident_t *, int, const char *);

int main() {
#pragma omp parallel num_threads(2)
  {
    if (omp_get_thread_num() == 0) {
      const char *msg = "User message goes here";
      printf("0: Message length=%" PRIu64 "\n", (uint64_t)strlen(msg));
      __kmpc_error(NULL, ompt_warning, msg);
    }
  }
  return 0;
}

// CHECK: {{^}}0: Message length=[[LENGTH:[0-9]+]]
// CHECK: {{^}}0: NULL_POINTER=[[NULL:.*$]]

// CHECK: {{^}}[[PRIMARY_ID:[0-9]+]]: ompt_event_implicit_task_begin
// CHECK: {{^}}[[PRIMARY_ID]]: ompt_event_runtime_error
// CHECK-SAME: severity=1
// CHECK-SAME: message=User message goes here
// CHECK-SAME: length=[[LENGTH]]
// CHECK-SAME: codeptr_ra={{0x[0-f]+}}

// Message from runtime
// CHECK: {{^}}OMP: Warning{{.*}}User message goes here
