[flang] Add atomic_fetch_or to the list of intrinsics
authorKatherine Rasmussen <krasmussen@lbl.gov>
Fri, 2 Sep 2022 00:01:52 +0000 (17:01 -0700)
committerKatherine Rasmussen <krasmussen@lbl.gov>
Thu, 29 Sep 2022 16:29:27 +0000 (09:29 -0700)
commitaa1a2ffdbf607fb49e27cab08f2f8f215ef11011
treeee107fb15bcde35a88ccff282db2d423d83403e6
parenta1aa0390cb53374cda05af8b9f780ecfa0ba16e4
[flang] Add atomic_fetch_or to the list of intrinsics

Add the atomic subroutine, atomic_fetch_or, to the list of
intrinsic subroutines. Add new enumerators to deal with the rank
of the atom dummy argument, and the kind of atomic_int_kind. Use
check for a coindexed-object for the fourth dummy argument. Move
atomic_int_kind and atomic_logical_kind definitions from
iso_fortran_env module to the __fortran_builtins module to allow
for access to those values when analyzing `atomic_fetch_or`
calls in flang/lib/Evaluate/intrinsics.cpp.

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D133174
flang/lib/Evaluate/intrinsics.cpp
flang/module/__fortran_builtins.f90
flang/module/iso_fortran_env.f90
flang/test/Semantics/atomic07.f90