diff options
Diffstat (limited to 'flang/lib/Evaluate/fold-logical.cpp')
-rw-r--r-- | flang/lib/Evaluate/fold-logical.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/flang/lib/Evaluate/fold-logical.cpp b/flang/lib/Evaluate/fold-logical.cpp index 64e4bd8c8bd9..455b3c2605c3 100644 --- a/flang/lib/Evaluate/fold-logical.cpp +++ b/flang/lib/Evaluate/fold-logical.cpp @@ -106,6 +106,10 @@ Expr<Type<TypeCategory::Logical, KIND>> FoldIntrinsicFunction( } } } + } else if (name == "logical") { + if (auto *expr{UnwrapExpr<Expr<SomeLogical>>(args[0])}) { + return Fold(context, ConvertToType<T>(std::move(*expr))); + } } else if (name == "merge") { return FoldMerge<T>(context, std::move(funcRef)); } else if (name == "__builtin_ieee_support_datatype" || |