Hi Jakub,
! { dg-do run }
! { dg-additional-options "-fdefault-integer-8" }
program set_num_teams_8
use omp_lib
omp_set_num_teams (42)
if (omp_get_num_teams () .ne. 42) stop 1
end program
I modified your suggested test case a bit:
program set_num_teams_8
use omp_lib
use, intrinsic :: iso_fortran_env
integer(int64) :: x
x = 42
call omp_set_num_teams (x)
if (omp_get_max_teams () .ne. 42) stop 1
end program
I tested it with/without the fix and the test passed/failed as expected.
Hope, that's ok?
Marcel
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634
München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas
Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht
München, HRB 106955
OpenMP, Fortran: Bugfix for omp_set_num_teams.
This patch fixes a small bug in the omp_set_num_teams implementation.
libgomp/ChangeLog:
* fortran.c (omp_set_num_teams_8_): Fix bug.
* testsuite/libgomp.fortran/icv-8.f90: New test.
diff --git a/libgomp/fortran.c b/libgomp/fortran.c
index 8c1cfd1..d984ce5 100644
--- a/libgomp/fortran.c
+++ b/libgomp/fortran.c
@@ -491,7 +491,7 @@ omp_set_num_teams_ (const int32_t *num_teams)
void
omp_set_num_teams_8_ (const int64_t *num_teams)
{
- omp_set_max_active_levels (TO_INT (*num_teams));
+ omp_set_num_teams (TO_INT (*num_teams));
}
int32_t
diff --git a/libgomp/testsuite/libgomp.fortran/icv-8.f90
b/libgomp/testsuite/libgomp.fortran/icv-8.f90
new file mode 100644
index 0000000..9478c15
--- /dev/null
+++ b/libgomp/testsuite/libgomp.fortran/icv-8.f90
@@ -0,0 +1,10 @@
+! This tests 'set_num_teams_8' function.
+
+program set_num_teams_8
+ use omp_lib
+ use, intrinsic :: iso_fortran_env
+ integer(int64) :: x
+ x = 42
+ call omp_set_num_teams (x)
+ if (omp_get_max_teams () .ne. 42) stop 1
+end program