libgomp: Add stub omp_control_tool for OMPT
Adds a stub implementation for `omp_control_tool` to libgomp, enabling OpenMP Tooling support.
This commit introduces a stub implementation for the omp_control_tool routine in libgomp, returning omp_control_tool_notool. This function is part of the OpenMP Tooling (OMPT) interface, designed to allow external tools to interact with and control OpenMP programs. The commit also includes necessary enum and parameter definitions in omp.h and omp_lib.{h,mod}, as well as new test cases to verify the functionality.
In Details
This commit adds a stub implementation for omp_control_tool to libgomp. This function is part of the OpenMP Tooling Interface (OMPT) and allows tools to control OpenMP execution. The implementation in env.c always returns omp_control_tool_notool. The commit also updates omp.h.in, omp_lib.h.in, and omp_lib.f90.in to include the necessary definitions and adds new test cases in both C and Fortran. The function name gets added to omp_runtime_api_procname in omp-general.cc.
For Context
OpenMP (Open Multi-Processing) is an API for writing parallel programs. The GNU OpenMP library (libgomp) implements the OpenMP runtime. OpenMP Tooling Interface (OMPT) is a mechanism for external tools to interact with OpenMP programs, allowing for debugging, profiling, and other forms of runtime analysis. This commit adds a placeholder function that will eventually allow external tools to control the behavior of OpenMP programs, though the initial version does not yet offer any actual control.