On Tue, Mar 15, 2022 at 06:05:48PM +0100, Marcel Vollweiler wrote:
> Hi,
>
> This patch fixes a small bug for omp_set_num_teams in fortran.c.
>
> 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.
Thanks for spotting this, but would be nice to cover it with
a testcase.
! { 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
or so would IMHO do it, please test that it FAILs without your fortran.c
fix and succeeds with it.
Ok for trunk with that change.
> 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
Jakub