FLANG
lib
Semantics
check-coarray.h
1
//===-- lib/Semantics/check-coarray.h ---------------------------*- C++ -*-===//
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
9
#ifndef FORTRAN_SEMANTICS_CHECK_COARRAY_H_
10
#define FORTRAN_SEMANTICS_CHECK_COARRAY_H_
11
12
#include "flang/Semantics/semantics.h"
13
#include <list>
14
15
namespace
Fortran::semantics {
16
17
class
CoarrayChecker :
public
virtual
BaseChecker
{
18
public
:
19
CoarrayChecker(
SemanticsContext
&context) : context_{context} {}
20
void
Leave(
const
parser::ChangeTeamStmt
&);
21
void
Leave(
const
parser::EndChangeTeamStmt
&);
22
void
Leave(
const
parser::SyncAllStmt &);
23
void
Leave(
const
parser::SyncImagesStmt
&);
24
void
Leave(
const
parser::SyncMemoryStmt &);
25
void
Leave(
const
parser::SyncTeamStmt
&);
26
void
Leave(
const
parser::NotifyWaitStmt
&);
27
void
Leave(
const
parser::EventPostStmt
&);
28
void
Leave(
const
parser::EventWaitStmt
&);
29
void
Leave(
const
parser::LockStmt
&);
30
void
Leave(
const
parser::UnlockStmt
&);
31
void
Leave(
const
parser::CriticalStmt
&);
32
void
Leave(
const
parser::ImageSelector
&);
33
void
Leave(
const
parser::FormTeamStmt
&);
34
35
void
Enter(
const
parser::CriticalConstruct
&);
36
void
Enter(
const
parser::ChangeTeamConstruct
&);
37
38
private
:
39
SemanticsContext
&context_;
40
41
void
CheckNamesAreDistinct(
const
std::list<parser::CoarrayAssociation> &);
42
void
Say2(
const
parser::CharBlock
&,
parser::MessageFixedText
&&,
43
const
parser::CharBlock
&,
parser::MessageFixedText
&&);
44
};
45
}
// namespace Fortran::semantics
46
#endif
// FORTRAN_SEMANTICS_CHECK_COARRAY_H_
Fortran::parser::CharBlock
Definition
char-block.h:28
Fortran::parser::MessageFixedText
Definition
message.h:46
Fortran::semantics::SemanticsContext
Definition
semantics.h:67
Fortran::parser::ChangeTeamConstruct
Definition
parse-tree.h:2227
Fortran::parser::ChangeTeamStmt
Definition
parse-tree.h:2212
Fortran::parser::CriticalConstruct
Definition
parse-tree.h:2243
Fortran::parser::CriticalStmt
Definition
parse-tree.h:2234
Fortran::parser::EndChangeTeamStmt
Definition
parse-tree.h:2221
Fortran::parser::EventPostStmt
Definition
parse-tree.h:2579
Fortran::parser::EventWaitStmt
Definition
parse-tree.h:2593
Fortran::parser::FormTeamStmt
Definition
parse-tree.h:2605
Fortran::parser::ImageSelector
Definition
parse-tree.h:1695
Fortran::parser::LockStmt
Definition
parse-tree.h:2619
Fortran::parser::NotifyWaitStmt
Definition
parse-tree.h:2547
Fortran::parser::SyncImagesStmt
Definition
parse-tree.h:2557
Fortran::parser::SyncTeamStmt
Definition
parse-tree.h:2570
Fortran::parser::UnlockStmt
Definition
parse-tree.h:2629
Fortran::semantics::BaseChecker
Definition
semantics.h:421
Generated on
for FLANG by
1.14.0