FLANG

edit-input.h
1 //===-- runtime/edit-input.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_RUNTIME_EDIT_INPUT_H_
10 #define FORTRAN_RUNTIME_EDIT_INPUT_H_
11
12 #include "format.h"
13 #include "io-stmt.h"
14 #include "flang/Decimal/decimal.h"
15
16 namespace Fortran::runtime::io {
17
18 bool EditIntegerInput(IoStatementState &, const DataEdit &, void *, int kind);
19
20 template <int binaryPrecision>
21 bool EditRealInput(IoStatementState &, const DataEdit &, void *);
22
23 bool EditLogicalInput(IoStatementState &, const DataEdit &, bool &);
24 bool EditDefaultCharacterInput(
25 IoStatementState &, const DataEdit &, char *, std::size_t);
26
27 extern template bool EditRealInput<8>(
28 IoStatementState &, const DataEdit &, void *);
29 extern template bool EditRealInput<11>(
30 IoStatementState &, const DataEdit &, void *);
31 extern template bool EditRealInput<24>(
32 IoStatementState &, const DataEdit &, void *);
33 extern template bool EditRealInput<53>(
34 IoStatementState &, const DataEdit &, void *);
35 extern template bool EditRealInput<64>(
36 IoStatementState &, const DataEdit &, void *);
37 extern template bool EditRealInput<113>(
38 IoStatementState &, const DataEdit &, void *);
39 } // namespace Fortran::runtime::io
40 #endif // FORTRAN_RUNTIME_EDIT_INPUT_H_