[flang-commits] [flang] [flang] Allow multiple identical DATA initializations (PR #177063)
Peter Klausler via flang-commits
flang-commits at lists.llvm.org
Wed Jan 21 08:28:59 PST 2026
================
@@ -669,27 +699,32 @@ static void IncorporateExplicitInitialization(
if (IsPointer(mutableSymbol)) {
if (auto *object{mutableSymbol.detailsIf<ObjectEntityDetails>()}) {
if (object->init()) {
- combined.NoteInitializedRange(offset, mutableSymbol.size());
- combined.image.AddPointer(offset, *object->init());
+ combined.NoteInitializedRange(offset,
+ mutableSymbol.size(), /*isDuplicate=*/
+ combined.image.AddPointer(offset, *object->init()) ==
+ evaluate::InitialImage::OkNoChange);
if (removeOriginalInits) {
object->init().reset();
}
}
} else if (auto *proc{mutableSymbol.detailsIf<ProcEntityDetails>()}) {
if (proc->init() && *proc->init()) {
- combined.NoteInitializedRange(offset, mutableSymbol.size());
- combined.image.AddPointer(
- offset, SomeExpr{evaluate::ProcedureDesignator{**proc->init()}});
+ combined.NoteInitializedRange(offset,
+ mutableSymbol.size(), /*isDuplicate=*/
+ combined.image.AddPointer(offset,
+ SomeExpr{evaluate::ProcedureDesignator{**proc->init()}}) ==
----------------
klausler wrote:
See line 711.
https://github.com/llvm/llvm-project/pull/177063
More information about the flang-commits
mailing list