diff --git a/openmp/runtime/src/kmp_ftn_entry.h b/openmp/runtime/src/kmp_ftn_entry.h --- a/openmp/runtime/src/kmp_ftn_entry.h +++ b/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 } diff --git a/openmp/runtime/test/api/omp_deprecated.c b/openmp/runtime/test/api/omp_deprecated.c new file mode 100644 --- /dev/null +++ b/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 +#include +#include +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