
Using hex format allows to better interpret IDs: the first digits represent the thread number, the last digits represent the ID within a thread The main change is in callback.h: PRIu64 -> PRIx64 The patch also guards RUN/CHECK lines in openmp/runtime/tests/ompt with clang-format on/off comments and clang-formats the directory. --------- Co-authored-by: Kaloyan Ignatov <kaloyan.ignatov@rwth-aachen.de>
48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
// clang-format off
|
|
// RUN: %libomp-cxx-compile-and-run | FileCheck %s
|
|
|
|
// disabled until fixed, see: https://github.com/llvm/llvm-project/pull/145625#issuecomment-3007625680
|
|
// remove "needs-fix", after fixing the issue in the runtime
|
|
// REQUIRES: ompt, needs-fix
|
|
// clang-format on
|
|
#include "callback.h"
|
|
#include "omp_testsuite.h"
|
|
|
|
// tests that the destructor doesn't segv even though
|
|
// ompt_finalize_tool() destroys the lock
|
|
struct myLock {
|
|
omp_lock_t lock;
|
|
myLock() { omp_init_lock(&lock); }
|
|
~myLock() { omp_destroy_lock(&lock); }
|
|
};
|
|
|
|
myLock lock;
|
|
|
|
int main() {
|
|
go_parallel_nthreads(2);
|
|
|
|
printf("Before ompt_finalize_tool\n");
|
|
ompt_finalize_tool();
|
|
printf("After ompt_finalize_tool\n");
|
|
|
|
return get_exit_value();
|
|
}
|
|
|
|
// clang-format off
|
|
// CHECK: 0: NULL_POINTER=[[NULL:.*$]]
|
|
// CHECK: {{^}}[[THREAD_ID:[0-9]+]]: ompt_event_thread_begin:
|
|
// CHECK-SAME: thread_type=ompt_thread_initial=1
|
|
|
|
// CHECK: {{^}}[[THREAD_ID]]: ompt_event_init_lock
|
|
|
|
// CHECK: {{^}}[[THREAD_ID]]: ompt_event_parallel_begin
|
|
// CHECK: {{^}}[[THREAD_ID]]: ompt_event_parallel_end
|
|
|
|
// CHECK: {{^}}Before ompt_finalize_tool
|
|
|
|
// CHECK: {{^}}[[THREAD_ID]]: ompt_event_thread_end: thread_id=[[THREAD_ID]]
|
|
// CHECK: 0: ompt_event_runtime_shutdown
|
|
|
|
// CHECK: {{^}}After ompt_finalize_tool
|
|
// clang-format on
|