[flang-commits] [flang] [flang][OpenMP] Account for GenericExprWrapper being null (PR #186416)
Krzysztof Parzyszek via flang-commits
flang-commits at lists.llvm.org
Fri Mar 13 08:26:26 PDT 2026
https://github.com/kparzysz created https://github.com/llvm/llvm-project/pull/186416
When getting a MaybeExpr from parser::Expr, take into account that the GeneticExprWrapper (that wraps MaybeExpr) may itself be null.
>From 52b552e2c13ac85d6541fe324d86faea9f09307c Mon Sep 17 00:00:00 2001
From: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: Fri, 13 Mar 2026 10:13:59 -0500
Subject: [PATCH] [flang][OpenMP] Account for GenericExprWrapper being null
When getting a MaybeExpr from parser::Expr, take into account that
the GeneticExprWrapper (that wraps MaybeExpr) may itself be null.
---
flang/lib/Semantics/openmp-utils.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/flang/lib/Semantics/openmp-utils.cpp b/flang/lib/Semantics/openmp-utils.cpp
index 8b0214531ee25..78f763c27e757 100644
--- a/flang/lib/Semantics/openmp-utils.cpp
+++ b/flang/lib/Semantics/openmp-utils.cpp
@@ -249,7 +249,10 @@ static MaybeExpr GetEvaluateExprFromTyped(const parser::TypedExpr &typedExpr) {
// ForwardOwningPointer typedExpr
// `- GenericExprWrapper ^.get()
// `- std::optional<Expr> ^->v
- return DEREF(typedExpr.get()).v;
+ if (auto *wrapper{typedExpr.get()}) {
+ return wrapper->v;
+ }
+ return std::nullopt;
}
MaybeExpr GetEvaluateExpr(const parser::Expr &parserExpr) {
More information about the flang-commits
mailing list