openmp: Handle clauses with gimple sequences in convert_nonlocal_omp_clauses properly
authorJakub Jelinek <jakub@redhat.com>
Sat, 8 Aug 2020 09:10:30 +0000 (11:10 +0200)
committerJakub Jelinek <jakub@redhat.com>
Sat, 8 Aug 2020 09:10:30 +0000 (11:10 +0200)
commit676b5525e8333005bdc1c596ed086f1da27a450f
treea73f71ff5498a86738b5637348e0d94f03984230
parent87d6dae308d604bad111b1c0bfea7835888eed8d
openmp: Handle clauses with gimple sequences in convert_nonlocal_omp_clauses properly

If the walk_body on the various sequences of reduction, lastprivate and/or linear
clauses needs to create a temporary variable, we should declare that variable
in that sequence rather than outside, where it would need to be privatized inside of
the construct.

2020-08-08  Jakub Jelinek  <jakub@redhat.com>

PR fortran/93553
* tree-nested.c (convert_nonlocal_omp_clauses): For
OMP_CLAUSE_REDUCTION, OMP_CLAUSE_LASTPRIVATE and OMP_CLAUSE_LINEAR
save info->new_local_var_chain around walks of the clause gimple
sequences and declare_vars if needed into the sequence.

2020-08-08  Tobias Burnus  <tobias@codesourcery.com>

PR fortran/93553
* testsuite/libgomp.fortran/pr93553.f90: New test.
gcc/tree-nested.c
libgomp/testsuite/libgomp.fortran/pr93553.f90 [new file with mode: 0644]