Lines Matching defs:io
1 //===-- runtime/io-api-minimal.cpp ----------------------------------------===//
14 #include "io-api-common.h"
15 #include "io-stmt.h"
19 #include "flang/Runtime/io-api.h"
21 namespace Fortran::runtime::io {
31 IoStatementState &io{*cookie};
32 return static_cast<enum Iostat>(io.EndIoStatement());
37 IoStatementState &io, INT x, const char *whence) {
38 if (io.CheckFormattedStmtType<Direction::Output>(whence)) {
39 auto edit{io.GetNextDataEdit()};
40 return edit && EditIntegerOutput<KIND>(io, *edit, x, /*isSigned=*/true);
71 IoStatementState &io, REAL x, const char *whence) {
72 if (io.CheckFormattedStmtType<Direction::Output>(whence)) {
73 auto edit{io.GetNextDataEdit()};
74 return edit && RealOutputEditing<KIND>{io, x}.Edit(*edit);
91 IoStatementState &io, REAL re, REAL im, const char *whence) {
92 if (io.CheckFormattedStmtType<Direction::Output>(whence)) {
93 if (io.get_if<ListDirectedStatementState<Direction::Output>>() != nullptr) {
97 rEdit.modes = iEdit.modes = io.mutableModes();
98 return RealOutputEditing<KIND>{io, re}.Edit(rEdit) &&
99 RealOutputEditing<KIND>{io, im}.Edit(iEdit);
101 auto reEdit{io.GetNextDataEdit()};
102 if (reEdit && RealOutputEditing<KIND>{io, re}.Edit(*reEdit)) {
103 auto imEdit{io.GetNextDataEdit()};
104 return imEdit && RealOutputEditing<KIND>{io, im}.Edit(*imEdit);
120 IoStatementState &io{*cookie};
122 io.GetIoErrorHandler().Crash("Null address for character output item");
124 io.get_if<ListDirectedStatementState<Direction::Output>>()}) {
125 return ListDirectedCharacterOutput(io, *listOutput, x, length);
126 } else if (io.CheckFormattedStmtType<Direction::Output>("OutputAscii")) {
127 auto edit{io.GetNextDataEdit()};
128 return edit && EditCharacterOutput(io, *edit, x, length);
135 IoStatementState &io{*cookie};
137 io.get_if<ListDirectedStatementState<Direction::Output>>()}) {
138 return ListDirectedLogicalOutput(io, *listOutput, truth);
139 } else if (io.CheckFormattedStmtType<Direction::Output>("OutputAscii")) {
140 auto edit{io.GetNextDataEdit()};
141 return edit && EditLogicalOutput(io, *edit, truth);
147 } // namespace Fortran::runtime::io