[Bug fortran/92977] ICE in gfc_trans_omp_atomic, at fortran/trans-openmp.c:3526

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Dec 20 17:46:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92977

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Fri Dec 20 17:45:56 2019
New Revision: 279676

URL: https://gcc.gnu.org/viewcvs?rev=279676&root=gcc&view=rev
Log:
        Backported from mainline
        2019-12-19  Jakub Jelinek  <jakub@redhat.com>

        PR fortran/92977
        * frontend-passes.c (call_external_blas): Use || instead of |.

        PR fortran/92977
        * frontend-passes.c (in_omp_atomic): New variable.
        (cfe_expr_0, matmul_to_var_expr, matmul_temp_args,
        inline_matmul_assign, call_external_blas): Don't optimize in
        EXEC_OMP_ATOMIC.
        (optimize_namespace): Clear in_omp_atomic.
        (gfc_code_walker): Set in_omp_atomic for EXEC_OMP_ATOMIC, save/restore
        it around.

        * gfortran.dg/gomp/pr92977.f90: New test.

Added:
    branches/gcc-9-branch/gcc/testsuite/gfortran.dg/gomp/pr92977.f90
Modified:
    branches/gcc-9-branch/gcc/fortran/ChangeLog
    branches/gcc-9-branch/gcc/fortran/frontend-passes.c
    branches/gcc-9-branch/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list