1fb5fd2d8SMichael Klemm! REQUIRES: openmp_runtime 2fb5fd2d8SMichael Klemm 3*bfeebda3SMichael Klemm! RUN: %flang_fc1 -emit-hlfir %openmp_flags %s -o - 2>&1 | FileCheck %s 4*bfeebda3SMichael Klemm! RUN: bbc %openmp_flags -emit-hlfir -o - %s 2>&1 | FileCheck %s 5*bfeebda3SMichael Klemm! RUN: %flang_fc1 -emit-fir %openmp_flags %s -o - 2>&1 | FileCheck %s 6*bfeebda3SMichael Klemm! RUN: bbc -emit-fir %openmp_flags -o - %s 2>&1 | FileCheck %s 73e32b809SRazvan Lupusoru! 83e32b809SRazvan Lupusoru! Test that the calls to omp_lib's omp_get_num_threads and omp_set_num_threads 93e32b809SRazvan Lupusoru! get lowered even though their implementation is not in the omp_lib module 103e32b809SRazvan Lupusoru! (and this matters because this is an intrinsic module - and calls to 113e32b809SRazvan Lupusoru! intrinsics are specially resolved). 123e32b809SRazvan Lupusoru 133e32b809SRazvan Lupusoruprogram main 143e32b809SRazvan Lupusoru use omp_lib 153e32b809SRazvan Lupusoru integer(omp_integer_kind) :: num_threads 163e32b809SRazvan Lupusoru integer(omp_integer_kind), parameter :: requested_num_threads = 4 173e32b809SRazvan Lupusoru call omp_set_num_threads(requested_num_threads) 183e32b809SRazvan Lupusoru num_threads = omp_get_num_threads() 193e32b809SRazvan Lupusoru print *, num_threads 203e32b809SRazvan Lupusoruend program 213e32b809SRazvan Lupusoru 223e32b809SRazvan Lupusoru!CHECK-NOT: not yet implemented: intrinsic: omp_set_num_threads 233e32b809SRazvan Lupusoru!CHECK-NOT: not yet implemented: intrinsic: omp_get_num_threads 243e32b809SRazvan Lupusoru!CHECK: fir.call @omp_set_num_threads 253e32b809SRazvan Lupusoru!CHECK: fir.call @omp_get_num_threads 26