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

Reply via email to