1 #ifdef _OPENMP 2 #include <omp.h> 3 #if _OPENMP >= 201511 4 #define monotonic_dynamic monotonic:dynamic // #4786 5 #else 6 #define monotonic_dynamic dynamic 7 #endif 8 #define MY_OPENMP _OPENMP 9 // for use in error messages (e.g. fsort.c; #4786) to save an #ifdef each time 10 // initially chose OMP_VERSION but figured OpenMP might define that in future, so picked MY_ prefix 11 #else 12 // for machines with compilers void of openmp support 13 #define omp_get_num_threads() 1 14 #define omp_get_thread_num() 0 15 #define omp_get_max_threads() 1 16 #define omp_get_thread_limit() 1 17 #define omp_get_num_procs() 1 18 #define omp_set_nested(a) // empty statement to remove the call 19 #define omp_get_wtime() 0 20 #define MY_OPENMP 0 21 #endif 22 23