//===-- Atomic.h -- Lowering of atomic constructs -------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef FORTRAN_LOWER_OPENMP_ATOMIC_H #define FORTRAN_LOWER_OPENMP_ATOMIC_H namespace Fortran { namespace lower { class AbstractConverter; class SymMap; namespace pft { struct Evaluation; } } // namespace lower namespace parser { struct OpenMPAtomicConstruct; } namespace semantics { class SemanticsContext; } } // namespace Fortran namespace Fortran::lower::omp { void lowerAtomic(AbstractConverter &converter, SymMap &symTable, semantics::SemanticsContext &semaCtx, pft::Evaluation &eval, const parser::OpenMPAtomicConstruct &construct); } #endif // FORTRAN_LOWER_OPENMP_ATOMIC_H