[llvm-branch-commits] [flang] release/22.x: [flang][Lower] Fix UB in location handling (#177944) (PR #177965)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Jan 26 06:15:27 PST 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-flang-fir-hlfir
Author: None (llvmbot)
<details>
<summary>Changes</summary>
Backport 9be7c10
Requested by: @<!-- -->tblah
---
Full diff: https://github.com/llvm/llvm-project/pull/177965.diff
1 Files Affected:
- (modified) flang/lib/Lower/Bridge.cpp (+3-3)
``````````diff
diff --git a/flang/lib/Lower/Bridge.cpp b/flang/lib/Lower/Bridge.cpp
index 2d9947530cae8..1f35153928500 100644
--- a/flang/lib/Lower/Bridge.cpp
+++ b/flang/lib/Lower/Bridge.cpp
@@ -1117,7 +1117,7 @@ class FirConverter : public Fortran::lower::AbstractConverter {
fir::LocationKind::Base));
// Gather include location information if any.
- Fortran::parser::ProvenanceRange *prov = &*provenance;
+ std::optional<Fortran::parser::ProvenanceRange> prov = provenance;
while (prov) {
if (std::optional<Fortran::parser::ProvenanceRange> include =
cooked->allSources().GetInclusionInfo(*prov)) {
@@ -1127,9 +1127,9 @@ class FirConverter : public Fortran::lower::AbstractConverter {
locAttrs.push_back(fir::LocationKindAttr::get(
&getMLIRContext(), fir::LocationKind::Inclusion));
}
- prov = &*include;
+ prov = include;
} else {
- prov = nullptr;
+ prov.reset();
}
}
if (locs.size() > 1) {
``````````
</details>
https://github.com/llvm/llvm-project/pull/177965
More information about the llvm-branch-commits
mailing list