37 lines · c
1//===-- Atomic.h -- Lowering of atomic constructs -------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8#ifndef FORTRAN_LOWER_OPENMP_ATOMIC_H9#define FORTRAN_LOWER_OPENMP_ATOMIC_H10 11namespace Fortran {12namespace lower {13class AbstractConverter;14class SymMap;15 16namespace pft {17struct Evaluation;18}19} // namespace lower20 21namespace parser {22struct OpenMPAtomicConstruct;23}24 25namespace semantics {26class SemanticsContext;27}28} // namespace Fortran29 30namespace Fortran::lower::omp {31void lowerAtomic(AbstractConverter &converter, SymMap &symTable,32 semantics::SemanticsContext &semaCtx, pft::Evaluation &eval,33 const parser::OpenMPAtomicConstruct &construct);34}35 36#endif // FORTRAN_LOWER_OPENMP_ATOMIC_H37