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-exception
6//
7//===----------------------------------------------------------------------===//
8#ifndef FORTRAN_LOWER_OPENMP_ATOMIC_H
9#define FORTRAN_LOWER_OPENMP_ATOMIC_H
10
11namespace Fortran {
12namespace lower {
13class AbstractConverter;
14class SymMap;
15
16namespace pft {
17struct Evaluation;
18}
19} // namespace lower
20
21namespace parser {
22struct OpenMPAtomicConstruct;
23}
24
25namespace semantics {
26class SemanticsContext;
27}
28} // namespace Fortran
29
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_H
37

source code of flang/lib/Lower/OpenMP/Atomic.h