[Openmp-commits] [PATCH] D102676: [OpenMP] libomp: move warnings to after library initialization
Andrey Churbanov via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Tue May 18 02:30:55 PDT 2021
AndreyChurbanov created this revision.
AndreyChurbanov added reviewers: hbae, jlpeyton, tlwilmar, Nawrin.
AndreyChurbanov added a project: OpenMP.
Herald added subscribers: guansong, yaxunl.
AndreyChurbanov requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added subscribers: openmp-commits, sstefan1.
Warnings on deprecated api cannot be suppressed if the library is not initialized.
With this change it is possible to set KMP_WARNINGS=false to suppress the warnings.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D102676
Files:
openmp/runtime/src/kmp_ftn_entry.h
openmp/runtime/test/api/omp_deprecated.c
Index: openmp/runtime/test/api/omp_deprecated.c
===================================================================
--- /dev/null
+++ openmp/runtime/test/api/omp_deprecated.c
@@ -0,0 +1,18 @@
+// RUN: %libomp-compile && env KMP_WARNINGS=false %libomp-run 2>&1 | FileCheck %s
+// The test checks that KMP_WARNINGS=false suppresses library warnings
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <omp.h>
+int main(int argc, char** argv) {
+ omp_set_nested(1);
+ if (!omp_get_nested()) {
+ printf("error: omp_set_nested(1) failed\n");
+ return 1;
+ }
+ printf("passed\n");
+ return 0;
+}
+
+// CHECK-NOT: omp_set_nested routine deprecated
+// CHECK-NOT: omp_get_nested routine deprecated
Index: openmp/runtime/src/kmp_ftn_entry.h
===================================================================
--- openmp/runtime/src/kmp_ftn_entry.h
+++ openmp/runtime/src/kmp_ftn_entry.h
@@ -595,13 +595,13 @@
}
void FTN_STDCALL KMP_EXPAND_NAME(FTN_SET_NESTED)(int KMP_DEREF flag) {
- KMP_INFORM(APIDeprecated, "omp_set_nested", "omp_set_max_active_levels");
#ifdef KMP_STUB
__kmps_set_nested(KMP_DEREF flag);
#else
kmp_info_t *thread;
/* For the thread-private internal controls implementation */
thread = __kmp_entry_thread();
+ KMP_INFORM(APIDeprecated, "omp_set_nested", "omp_set_max_active_levels");
__kmp_save_internal_controls(thread);
// Somewhat arbitrarily decide where to get a value for max_active_levels
int max_active_levels = get__max_active_levels(thread);
@@ -612,12 +612,12 @@
}
int FTN_STDCALL KMP_EXPAND_NAME(FTN_GET_NESTED)(void) {
- KMP_INFORM(APIDeprecated, "omp_get_nested", "omp_get_max_active_levels");
#ifdef KMP_STUB
return __kmps_get_nested();
#else
kmp_info_t *thread;
thread = __kmp_entry_thread();
+ KMP_INFORM(APIDeprecated, "omp_get_nested", "omp_get_max_active_levels");
return get__max_active_levels(thread) > 1;
#endif
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D102676.346079.patch
Type: text/x-patch
Size: 1911 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20210518/55672058/attachment.bin>
More information about the Openmp-commits
mailing list