On Thu, Nov 11, 2021 at 04:04:04PM +0100, Tobias Burnus wrote:
> Just the Fortran FE work + Fortranized version for the C tests.
> 
> Tobias
> -----------------
> 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

> Fortran/openmp: Add support for 2 argument num_teams clause
> 
> Fortran part to commit r12-5146-g48d7327f2aaf65
> 
> gcc/fortran/ChangeLog:
> 
>       * gfortran.h (struct gfc_omp_clauses): Rename num_teams to
>       num_teams_upper, add num_teams_upper.
>       * dump-parse-tree.c (show_omp_clauses): Update to handle
>       lower-bound num_teams clause.
>       * frontend-passes.c (gfc_code_walker): Likewise
>       * openmp.c (gfc_free_omp_clauses, gfc_match_omp_clauses,
>       resolve_omp_clauses): Likewise.
>       * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses,
>       gfc_trans_omp_target): Likewise.
> 
> libgomp/ChangeLog:
> 
>       * testsuite/libgomp.fortran/teams-1.f90: New test.
> 
> gcc/testsuite/ChangeLog:
> 
>       * gfortran.dg/gomp/num-teams-1.f90: New test.
>       * gfortran.dg/gomp/num-teams-2.f90: New test.

Ok, thanks.

Slightly worried about the combined target teams case where C/C++
ensure the expressions used in there are evaluated before target
like:
  TARGET_EXPR <D.2122, fn (4)>;
  TARGET_EXPR <D.2123, fn (3)>;
  #pragma omp target firstprivate(D.2123) firstprivate(D.2122)
    {
      {
        #pragma omp teams num_teams(TARGET_EXPR <D.2123, fn (3)>:TARGET_EXPR 
<D.2122, fn (4)>)
but what I see in gfc_trans_omp_target seems to instead move the
clause to target, but I admit I haven't tried to eyeball a dump.

        Jakub

Reply via email to