diff --git a/flang/runtime/command.h b/flang/runtime/command.h --- a/flang/runtime/command.h +++ b/flang/runtime/command.h @@ -13,12 +13,29 @@ #include "entry-names.h" namespace Fortran::runtime { +class Descriptor; + extern "C" { // 16.9.51 COMMAND_ARGUMENT_COUNT // // Lowering may need to cast the result to match the precision of the default // integer kind. CppTypeFor RTNAME(ArgumentCount)(); + +// 16.9.83 GET_COMMAND_ARGUMENT +// We're breaking up the interface into several different functions, since most +// of the parameters are optional. + +// Try to get the value of the n'th argument. +// Returns a STATUS as described in the standard. +CppTypeFor RTNAME(ArgumentValue)( + CppTypeFor n, const Descriptor *value, + const Descriptor *errmsg); + +// Try to get the significant length of the n'th argument. +// Returns 0 if it doesn't manage. +CppTypeFor RTNAME(ArgumentLength)( + CppTypeFor n); } } // namespace Fortran::runtime