[flang-commits] [flang] [flang] Allow multiple identical DATA initializations (PR #177063)

Eugene Epshteyn via flang-commits flang-commits at lists.llvm.org
Wed Jan 21 09:14:09 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()}}) ==
----------------
eugeneepshteyn wrote:

Looked at it with fresh eyes. Yes, should be fine.

https://github.com/llvm/llvm-project/pull/177063


More information about the flang-commits mailing list