[llvm] Static_cast std::size_t to build flang_rt in 32-bit. (PR #149529)

Daniel Chen via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 18 08:47:21 PDT 2025


https://github.com/DanielCChen updated https://github.com/llvm/llvm-project/pull/149529

>From 3182a3b4736777aed92133c37638b4c1045a5588 Mon Sep 17 00:00:00 2001
From: Daniel Chen <cdchen at ca.ibm.com>
Date: Fri, 18 Jul 2025 11:10:29 -0400
Subject: [PATCH 1/2] Static_cast std::size_t to build flang_rt in 32-bit.

---
 flang-rt/lib/runtime/descriptor.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/flang-rt/lib/runtime/descriptor.cpp b/flang-rt/lib/runtime/descriptor.cpp
index b723acdd27bd5..7db33f719dd3a 100644
--- a/flang-rt/lib/runtime/descriptor.cpp
+++ b/flang-rt/lib/runtime/descriptor.cpp
@@ -85,7 +85,7 @@ RT_API_ATTRS void Descriptor::Establish(int characterKind,
 RT_API_ATTRS void Descriptor::Establish(const typeInfo::DerivedType &dt,
     void *p, int rank, const SubscriptValue *extent,
     ISO::CFI_attribute_t attribute) {
-  std::size_t elementBytes{dt.sizeInBytes()};
+  std::size_t elementBytes{static_cast<std::size_t>(dt.sizeInBytes())};
   ISO::EstablishDescriptor(
       &raw_, p, attribute, CFI_type_struct, elementBytes, rank, extent);
   if (elementBytes == 0) {

>From bc1f8bc68693dc8c78e667dbe8e385e33ea88f89 Mon Sep 17 00:00:00 2001
From: Daniel Chen <cdchen at ca.ibm.com>
Date: Fri, 18 Jul 2025 11:47:06 -0400
Subject: [PATCH 2/2] Change to auto to address review comments.

---
 flang-rt/lib/runtime/descriptor.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/flang-rt/lib/runtime/descriptor.cpp b/flang-rt/lib/runtime/descriptor.cpp
index 7db33f719dd3a..e9301bd0307d2 100644
--- a/flang-rt/lib/runtime/descriptor.cpp
+++ b/flang-rt/lib/runtime/descriptor.cpp
@@ -85,7 +85,7 @@ RT_API_ATTRS void Descriptor::Establish(int characterKind,
 RT_API_ATTRS void Descriptor::Establish(const typeInfo::DerivedType &dt,
     void *p, int rank, const SubscriptValue *extent,
     ISO::CFI_attribute_t attribute) {
-  std::size_t elementBytes{static_cast<std::size_t>(dt.sizeInBytes())};
+  auto elementBytes{static_cast<std::size_t>(dt.sizeInBytes())};
   ISO::EstablishDescriptor(
       &raw_, p, attribute, CFI_type_struct, elementBytes, rank, extent);
   if (elementBytes == 0) {



More information about the llvm-commits mailing list