Commit 6a97d9ea by Tobias Burnus

[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.
parent e60b1e23
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> 2020-01-30 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
PR fortran/87103 PR fortran/87103
...@@ -25,11 +31,11 @@ ...@@ -25,11 +31,11 @@
2020-01-28 Andrew Benson <abensonca@gmail.com> 2020-01-28 Andrew Benson <abensonca@gmail.com>
PR fortran/93461 PR fortran/93461
* trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to * trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to
GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name, GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name,
plus the "." between module and submodule names. plus the "." between module and submodule names.
* gfortran.dg/pr93461.f90: New test. * gfortran.dg/pr93461.f90: New test.
2020-01-28 Andrew Benson <abensonca@gmail.com> 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, ...@@ -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); WALK_SUBEXPR (co->ext.dt->extra_comma);
break; break;
case EXEC_OACC_ATOMIC:
case EXEC_OMP_ATOMIC: case EXEC_OMP_ATOMIC:
in_omp_atomic = true; in_omp_atomic = true;
break; break;
......
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> 2020-01-31 Tamar Christina <tamar.christina@arm.com>
PR rtl-optimization/91838 PR rtl-optimization/91838
......
! { 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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment