From 02602c02a3019a99f1949510a08692e57d2dd270 Mon Sep 17 00:00:00 2001 From: Diana Picus Date: Wed, 6 Oct 2021 10:56:10 +0000 Subject: [PATCH] [flang] Add runtime interface for GET_ENVIRONMENT_VARIABLE Split into 2 entry points, one for the length and one for the value. Differential Revision: https://reviews.llvm.org/D111392 --- flang/include/flang/Runtime/command.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/flang/include/flang/Runtime/command.h b/flang/include/flang/Runtime/command.h index f5f20a5..45a9f112 100644 --- a/flang/include/flang/Runtime/command.h +++ b/flang/include/flang/Runtime/command.h @@ -35,6 +35,21 @@ std::int32_t RTNAME(ArgumentValue)( // 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 -- 2.7.4