diff --git a/flang/include/flang/Runtime/command.h b/flang/include/flang/Runtime/command.h --- a/flang/include/flang/Runtime/command.h +++ b/flang/include/flang/Runtime/command.h @@ -35,6 +35,21 @@ // Try to get the significant length of the n'th argument. // Returns 0 if it doesn't manage. std::int64_t RTNAME(ArgumentLength)(std::int32_t n); + +// 16.9.84 GET_ENVIRONMENT_VARIABLE +// We're breaking up the interface into several different functions, since most +// of the parameters are optional. + +// Try to get the value of the environment variable specified by NAME. +// Returns a STATUS as described in the standard. +std::int32_t RTNAME(EnvVariableValue)(const Descriptor &name, + const Descriptor *value = nullptr, bool trim_name = true, + const Descriptor *errmsg = nullptr); + +// Try to get the significant length of the environment variable specified by +// NAME. Returns 0 if it doesn't manage. +std::int64_t RTNAME(EnvVariableLength)( + const Descriptor &name, bool trim_name = true); } } // namespace Fortran::runtime