summaryrefslogtreecommitdiff
path: root/openmp/runtime/test/ompt/misc/interoperability.cpp
AgeCommit message (Collapse)Author
2025-08-18[OpenMP][Test][NFC] output tool data as hex to improve readibility (#152757)Joachim
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>
2025-05-10[OpenMP][test] Make %p 0x prefix optional (#138514)Rainer Orth
Testing `openmp` on Solaris/amd64 shows a large number of failures, all due to the same issue: ``` # .---command stderr------------ # | openmp/runtime/test/ompt/misc/interoperability.cpp:67:16: error: CHECK-SAME: expected string not found in input # | // CHECK-SAME: parent_task_frame.reenter={{0x[0-f]+}} # | ^ # | <stdin>:5:101: note: scanning from here # | 281474976710658: ompt_event_parallel_begin: parent_task_id=281474976710659, parent_task_frame.exit=0, parent_task_frame.reenter=7fffbedffe90, parallel_id=281474976710661, requested_team_size=2, codeptr_ra=408b8e, invoker=2 ``` The testsuite expects pointers to be printed with a `0x` prefix when using the `%p` format, while Solaris `libc` just prints them in hex without a prefix. However, this difference is completely benign. ISO C (up to C23, 7.23.6.1) states ``` p The argument shall be a pointer to void or a pointer to a character type. The value of the pointer is converted to a sequence of printing characters, in an implementation-defined manner. ``` I saw two ways around this: - replace every instance of `%p` with a macro (`KMP_PTR_FMT`, defined as `"%p"` or `"0x%p" as appropriate), or - adjust the testsuite to make the `0x` prefix optional The second route seemed less intrusive and more readable, so that's what this patch does. While large, it's also completely mechanical. Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.
2024-12-09[OpenMP] Fix interoperability test compilation on OpenBSD (#119053)Brad Smith
2019-08-03Add OMPT support for teams constructHansang Bae
This change adds OMPT support for events from teams construct. Differential Revision: https://reviews.llvm.org/D64025 llvm-svn: 367746
2019-05-20[OMPT] Handling of the events of initial-task-begin and initial-task-endJoachim Protze
OpenMP 5.0 says that the callback for the events initial-task-begin and initial-task-end has to be ompt_callback_implicit_task. Patch by Tim Cramer Differential Revision: https://reviews.llvm.org/D58776 llvm-svn: 361157
2019-03-25Fix interoperability test compilation on FreeBSDDimitry Andric
Summary: While building the 8.0 releases on FreeBSD, I encountered the following error in the regression tests, where ompt/misc/interoperability.cpp failed to compile, with: ``` projects/openmp/runtime/test/ompt/misc/interoperability.cpp:7:10: fatal error: 'alloca.h' file not found #include <alloca.h> ^~~~~~~~~~ ``` Like on NetBSD, alloca(3) is defined in <stdlib.h> instead. Reviewers: emaste, jlpeyton, krytarowski, mgorny, protze.joachim Reviewed By: jlpeyton Subscribers: jdoerfert, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D59736 llvm-svn: 356936
2018-12-11[test] [runtime] Do not include alloca.h on NetBSDMichal Gorny
On NetBSD, alloca() is in stdlib.h and there is no alloca.h. Adjust the includes appopriately. Differential Revision: https://reviews.llvm.org/D55487 llvm-svn: 348856
2018-07-02[OMPT] Use alloca() to force availability of frame pointerJoachim Protze
When compiling with icc, there is a problem with reenter frame addresses in parallel_begin callbacks in the interoperability.c testcase. (The address is not available. thus NULL) Using alloca() forces availability of the frame pointer. Patch provided by Simon Convent Differential Revision: https://reviews.llvm.org/D48282 llvm-svn: 336088
2018-03-01[OMPT] Fix interoperability test with GCCJonas Hahnfeld
We have to ensure that the runtime is initialized _before_ waiting for the two started threads to guarantee that the master threads post their ompt_event_thread_begin before the worker threads. This is not guaranteed in the parallel region where one worker thread could start before the other master thread has invoked the callback. The problem did not happen with Clang becauses the generated code calls __kmpc_global_thread_num() and cashes its result for functions that contain OpenMP pragmas. Differential Revision: https://reviews.llvm.org/D43882 llvm-svn: 326435
2018-02-17[OMPT] Add interoperability testcaseJoachim Protze
Test whether OMPT-callbacks for two threads that initiate a parallel region are correct. Differential Revision: https://reviews.llvm.org/D41942 llvm-svn: 325423