File 1201-use-C-17-list-initialization.patch of Package erlang

From 358a51f7dfe9560e106404853cc72aa6dbe2c907 Mon Sep 17 00:00:00 2001
From: Cocoa <i@uwucocoa.moe>
Date: Mon, 20 May 2024 11:44:28 +0100
Subject: [PATCH] use C++17 list-initialization

---
 erts/emulator/beam/jit/arm/beam_asm_global.cpp |  7 ++++---
 erts/emulator/beam/jit/arm/beam_asm_module.cpp | 18 ++++++------------
 2 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/erts/emulator/beam/jit/arm/beam_asm_global.cpp b/erts/emulator/beam/jit/arm/beam_asm_global.cpp
index 7e294602e4..990f826e03 100644
--- a/erts/emulator/beam/jit/arm/beam_asm_global.cpp
+++ b/erts/emulator/beam/jit/arm/beam_asm_global.cpp
@@ -74,9 +74,10 @@ BeamGlobalAssembler::BeamGlobalAssembler(JitAllocator *allocator)
             stop = (ErtsCodePtr)((char *)getBaseAddress() + code.codeSize());
         }
 
-        ranges.push_back({.start = start,
-                          .stop = stop,
-                          .name = code.labelEntry(labels[val.first])->name()});
+        ranges.push_back(AsmRange{start,
+                                  stop,
+                                  code.labelEntry(labels[val.first])->name(),
+                                  {}});
     }
 
     (void)beamasm_metadata_insert("global",
diff --git a/erts/emulator/beam/jit/arm/beam_asm_module.cpp b/erts/emulator/beam/jit/arm/beam_asm_module.cpp
index caec6c0eb8..82b530690e 100644
--- a/erts/emulator/beam/jit/arm/beam_asm_module.cpp
+++ b/erts/emulator/beam/jit/arm/beam_asm_module.cpp
@@ -541,10 +541,7 @@ const Label &BeamModuleAssembler::resolve_label(const Label &target,
         anchor = a.newNamedLabel(name.str().c_str());
     }
 
-    auto it = _veneers.emplace(target.id(),
-                               Veneer{.latestOffset = maxOffset,
-                                      .anchor = anchor,
-                                      .target = target});
+    auto it = _veneers.emplace(target.id(), Veneer{maxOffset, anchor, target});
 
     const Veneer &veneer = it->second;
     _pending_veneers.emplace(veneer);
@@ -590,10 +587,8 @@ arm::Mem BeamModuleAssembler::embed_constant(const ArgVal &value,
         }
     }
 
-    auto it = _constants.emplace(value,
-                                 Constant{.latestOffset = maxOffset,
-                                          .anchor = a.newLabel(),
-                                          .value = value});
+    auto it =
+            _constants.emplace(value, Constant{maxOffset, a.newLabel(), value});
     const Constant &constant = it->second;
     _pending_constants.emplace(constant);
 
@@ -608,10 +603,9 @@ arm::Mem BeamModuleAssembler::embed_label(const Label &label,
 
     ASSERT(disp >= dispMin && disp <= dispMax);
 
-    auto it = _embedded_labels.emplace(label.id(),
-                                       EmbeddedLabel{.latestOffset = maxOffset,
-                                                     .anchor = a.newLabel(),
-                                                     .label = label});
+    auto it = _embedded_labels.emplace(
+            label.id(),
+            EmbeddedLabel{maxOffset, a.newLabel(), label});
     ASSERT(it.second);
     const EmbeddedLabel &embedded_label = it.first->second;
     _pending_labels.emplace(embedded_label);
-- 
2.35.3

openSUSE Build Service is sponsored by