FLANG
IO.h
1//===-- Lower/IO.h -- lower IO statements -----------------------*- 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// Coding style: https://mlir.llvm.org/getting_started/DeveloperGuide/
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef FORTRAN_LOWER_IO_H
14#define FORTRAN_LOWER_IO_H
15
16namespace mlir {
17class Value;
18} // namespace mlir
19
20namespace Fortran {
21namespace parser {
22struct BackspaceStmt;
23struct CloseStmt;
24struct EndfileStmt;
25struct FlushStmt;
26struct InquireStmt;
27struct OpenStmt;
28struct ReadStmt;
29struct RewindStmt;
30struct PrintStmt;
31struct WaitStmt;
32struct WriteStmt;
33} // namespace parser
34
35namespace lower {
36
37class AbstractConverter;
38
41 const parser::BackspaceStmt &);
42
45
48 const parser::EndfileStmt &);
49
51mlir::Value genFlushStatement(AbstractConverter &, const parser::FlushStmt &);
52
55 const parser::InquireStmt &);
56
58mlir::Value genReadStatement(AbstractConverter &converter,
59 const parser::ReadStmt &stmt);
60
62mlir::Value genOpenStatement(AbstractConverter &, const parser::OpenStmt &);
63
66 const parser::PrintStmt &stmt);
67
69mlir::Value genRewindStatement(AbstractConverter &, const parser::RewindStmt &);
70
72mlir::Value genWaitStatement(AbstractConverter &, const parser::WaitStmt &);
73
75mlir::Value genWriteStatement(AbstractConverter &converter,
76 const parser::WriteStmt &stmt);
77
78} // namespace lower
79} // namespace Fortran
80
81#endif // FORTRAN_LOWER_IO_H
Definition: AbstractConverter.h:82
mlir::Value genEndfileStatement(AbstractConverter &, const parser::EndfileStmt &)
Generate IO call(s) for ENDFILE; return the IOSTAT code.
mlir::Value genReadStatement(AbstractConverter &converter, const parser::ReadStmt &stmt)
Generate IO call(s) for READ; return the IOSTAT code.
Definition: IO.cpp:2263
mlir::Value genWriteStatement(AbstractConverter &converter, const parser::WriteStmt &stmt)
Generate IO call(s) for WRITE; return the IOSTAT code.
Definition: IO.cpp:2257
void genPrintStatement(AbstractConverter &converter, const parser::PrintStmt &stmt)
Generate IO call(s) for PRINT.
Definition: IO.cpp:2248
mlir::Value genFlushStatement(AbstractConverter &, const parser::FlushStmt &)
Generate IO call(s) for FLUSH; return the IOSTAT code.
mlir::Value genBackspaceStatement(AbstractConverter &, const parser::BackspaceStmt &)
Generate IO call(s) for BACKSPACE; return the IOSTAT code.
mlir::Value genWaitStatement(AbstractConverter &, const parser::WaitStmt &)
Generate IO call(s) for WAIT; return the IOSTAT code.
mlir::Value genOpenStatement(AbstractConverter &, const parser::OpenStmt &)
Generate IO call(s) for OPEN; return the IOSTAT code.
mlir::Value genCloseStatement(AbstractConverter &, const parser::CloseStmt &)
Generate IO call(s) for CLOSE; return the IOSTAT code.
Definition: IO.cpp:1979
mlir::Value genInquireStatement(AbstractConverter &, const parser::InquireStmt &)
Generate IO call(s) for INQUIRE; return the IOSTAT code.
Definition: IO.cpp:2437
mlir::Value genRewindStatement(AbstractConverter &, const parser::RewindStmt &)
Generate IO call(s) for REWIND; return the IOSTAT code.
Definition: bit-population-count.h:20
@ Value
Lower argument to a value. Mainly intended for scalar arguments.
Definition: AbstractConverter.h:27
Definition: parse-tree.h:2695
Definition: parse-tree.h:2915
Definition: parse-tree.h:2791
Definition: parse-tree.h:2754
Definition: parse-tree.h:2776