1 //===-- lib/Semantics/check-stop.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_STOP_H_
10 #define FORTRAN_SEMANTICS_CHECK_STOP_H_
11 
12 #include "flang/Semantics/semantics.h"
13 
14 namespace Fortran::parser {
15 struct StopStmt;
16 }
17 
18 namespace Fortran::semantics {
19 
20 // Semantic analysis of STOP and ERROR STOP statements.
21 class StopChecker : public virtual BaseChecker {
22 public:
StopChecker(SemanticsContext & context)23   explicit StopChecker(SemanticsContext &context) : context_{context} {};
24 
25   void Enter(const parser::StopStmt &);
26 
27 private:
28   SemanticsContext &context_;
29 };
30 
31 } // namespace Fortran::semantics
32 
33 #endif // FORTRAN_SEMANTICS_CHECK_STOP_H_
34