[Fortran] Disable front-end optimization for OpenACC atomic (PR93462)
PR fortran/93462 * frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set in_omp_atomic to true prevent front-end optimization. PR fortran/93462 * gfortran.dg/goacc/atomic-1.f90: New.
This commit is contained in:
parent
e60b1e2362
commit
6a97d9eae4
4 changed files with 34 additions and 5 deletions
|
@ -1,3 +1,9 @@
|
|||
2020-01-31 Tobias Burnus <tobias@codesourcery.com>
|
||||
|
||||
PR fortran/93462
|
||||
* frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set
|
||||
in_omp_atomic to true prevent front-end optimization.
|
||||
|
||||
2020-01-30 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||||
|
||||
PR fortran/87103
|
||||
|
@ -25,11 +31,11 @@
|
|||
|
||||
2020-01-28 Andrew Benson <abensonca@gmail.com>
|
||||
|
||||
PR fortran/93461
|
||||
* trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to
|
||||
GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name,
|
||||
plus the "." between module and submodule names.
|
||||
* gfortran.dg/pr93461.f90: New test.
|
||||
PR fortran/93461
|
||||
* trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to
|
||||
GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name,
|
||||
plus the "." between module and submodule names.
|
||||
* gfortran.dg/pr93461.f90: New test.
|
||||
|
||||
2020-01-28 Andrew Benson <abensonca@gmail.com>
|
||||
|
||||
|
|
|
@ -5258,6 +5258,7 @@ gfc_code_walker (gfc_code **c, walk_code_fn_t codefn, walk_expr_fn_t exprfn,
|
|||
WALK_SUBEXPR (co->ext.dt->extra_comma);
|
||||
break;
|
||||
|
||||
case EXEC_OACC_ATOMIC:
|
||||
case EXEC_OMP_ATOMIC:
|
||||
in_omp_atomic = true;
|
||||
break;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2020-01-31 Tobias Burnus <tobias@codesourcery.com>
|
||||
|
||||
PR fortran/93462
|
||||
* gfortran.dg/goacc/atomic-1.f90: New.
|
||||
|
||||
2020-01-31 Tamar Christina <tamar.christina@arm.com>
|
||||
|
||||
PR rtl-optimization/91838
|
||||
|
|
17
gcc/testsuite/gfortran.dg/goacc/atomic-1.f90
Normal file
17
gcc/testsuite/gfortran.dg/goacc/atomic-1.f90
Normal file
|
@ -0,0 +1,17 @@
|
|||
! { dg-do compile }
|
||||
!
|
||||
! PR fortran/93462
|
||||
!
|
||||
! Contributed by G. Steinmetz
|
||||
!
|
||||
program p
|
||||
integer :: n = 1
|
||||
integer :: a
|
||||
!$acc atomic write
|
||||
a = f(n) - f(n)
|
||||
contains
|
||||
integer function f(x)
|
||||
integer, intent(in) :: x
|
||||
f = x
|
||||
end
|
||||
end
|
Loading…
Add table
Reference in a new issue