[Openmp-commits] [openmp] [OpenMP][OMPT] Make omp_control_tool enums available in omp-tools.h (PR #216076)

via Openmp-commits openmp-commits at lists.llvm.org
Thu Aug 13 08:03:16 PDT 2026


https://github.com/jprotze created https://github.com/llvm/llvm-project/pull/216076

OpenMP 6.1 will introduce this change: the enums must be available by including either header file, but including both must also be valid.

>From 4f8b0c3c18943ef53aae4e968817e68620a0d137 Mon Sep 17 00:00:00 2001
From: Joachim Jenke <jenke at itc.rwth-aachen.de>
Date: Thu, 13 Aug 2026 16:55:32 +0200
Subject: [PATCH] [OpenMP][OMPT] Make omp_control_tool enums available in
 omp-tools.h

OpenMP 6.1 will introduce this change: the enums must be available by
including either header file, but including both must also be valid.
---
 openmp/runtime/src/include/omp-tools.h.var | 18 ++++++++++++++++++
 openmp/runtime/src/include/omp.h.var       |  4 ++++
 2 files changed, 22 insertions(+)

diff --git a/openmp/runtime/src/include/omp-tools.h.var b/openmp/runtime/src/include/omp-tools.h.var
index 46643dff5feab..88031930a279a 100644
--- a/openmp/runtime/src/include/omp-tools.h.var
+++ b/openmp/runtime/src/include/omp-tools.h.var
@@ -302,6 +302,24 @@ typedef uint64_t ompt_device_time_t;
 
 typedef uint64_t ompt_buffer_cursor_t;
 
+    /* OpenMP 6.1: Define in omp.h and omp-tools.h */
+#ifndef OMPCONTROLENUM
+#define OMPCONTROLENUM
+typedef enum omp_control_tool_result_t {
+  omp_control_tool_notool             = -2,
+  omp_control_tool_nocallback         = -1,
+  omp_control_tool_success            = 0,
+  omp_control_tool_ignored            = 1
+} omp_control_tool_result_t;
+
+typedef enum omp_control_tool_t {
+  omp_control_tool_start              = 1,
+  omp_control_tool_pause              = 2,
+  omp_control_tool_flush              = 3,
+  omp_control_tool_end                = 4
+} omp_control_tool_t;
+#endif OMPCONTROLENUM
+
 typedef enum ompt_thread_t {
   ompt_thread_initial                 = 1,
   ompt_thread_worker                  = 2,
diff --git a/openmp/runtime/src/include/omp.h.var b/openmp/runtime/src/include/omp.h.var
index b05074198ca3f..f568a952350c8 100644
--- a/openmp/runtime/src/include/omp.h.var
+++ b/openmp/runtime/src/include/omp.h.var
@@ -312,6 +312,9 @@
     extern void   __KAI_KMPC_CONVENTION  kmp_set_warnings_off(void);
 
     /* OpenMP 5.0 Tool Control */
+    /* OpenMP 6.1: Define in omp.h and omp-tools.h */
+#ifndef OMPCONTROLENUM
+#define OMPCONTROLENUM
     typedef enum omp_control_tool_result_t {
         omp_control_tool_notool = -2,
         omp_control_tool_nocallback = -1,
@@ -325,6 +328,7 @@
         omp_control_tool_flush = 3,
         omp_control_tool_end = 4
     } omp_control_tool_t;
+#endif OMPCONTROLENUM
 
     extern int __KAI_KMPC_CONVENTION omp_control_tool(int, int, void*);
 



More information about the Openmp-commits mailing list