[flang-commits] [flang] [flang][OpenMP] Account for GenericExprWrapper being null (PR #186416)
via flang-commits
flang-commits at lists.llvm.org
Fri Mar 13 08:27:04 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-flang-semantics
Author: Krzysztof Parzyszek (kparzysz)
<details>
<summary>Changes</summary>
When getting a MaybeExpr from parser::Expr, take into account that the GeneticExprWrapper (that wraps MaybeExpr) may itself be null.
---
Full diff: https://github.com/llvm/llvm-project/pull/186416.diff
1 Files Affected:
- (modified) flang/lib/Semantics/openmp-utils.cpp (+4-1)
``````````diff
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) {
``````````
</details>
https://github.com/llvm/llvm-project/pull/186416
More information about the flang-commits
mailing list