https://gcc.gnu.org/g:5b40b9c7af1c8b958a8a8b64c590ba647fa153b6

commit 5b40b9c7af1c8b958a8a8b64c590ba647fa153b6
Author: Arthur Cohen <arthur.co...@embecosm.com>
Date:   Wed Jan 17 14:15:27 2024 +0100

    rust_debug: Cast size_t values to unsigned long before printing.
    
    Using %lu to format size_t values breaks 32 bit targets, and %zu is not
    supported by one of the hosts GCC aims to support - HPUX
    
    gcc/rust/ChangeLog:
    
            * backend/rust-compile-base.cc 
(HIRCompileBase::resolve_method_address):
            Cast size_t value to unsigned long.
            * expand/rust-proc-macro.cc (load_macros): Likewise.
            * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): 
Likewise.

Diff:
---
 gcc/rust/backend/rust-compile-base.cc          | 3 ++-
 gcc/rust/expand/rust-proc-macro.cc             | 2 +-
 gcc/rust/typecheck/rust-hir-type-check-expr.cc | 4 ++--
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/gcc/rust/backend/rust-compile-base.cc 
b/gcc/rust/backend/rust-compile-base.cc
index 77fcb91520d7..bf31e014d6a6 100644
--- a/gcc/rust/backend/rust-compile-base.cc
+++ b/gcc/rust/backend/rust-compile-base.cc
@@ -918,7 +918,8 @@ HIRCompileBase::resolve_method_address (TyTy::FnType 
*fntype,
     }
 
   const Resolver::PathProbeCandidate *selectedCandidate = nullptr;
-  rust_debug_loc (expr_locus, "resolved to %lu candidates", candidates.size 
());
+  rust_debug_loc (expr_locus, "resolved to %lu candidates",
+                 (unsigned long) candidates.size ());
 
   // filter for the possible case of non fn type items
   std::set<Resolver::PathProbeCandidate> filteredFunctionCandidates;
diff --git a/gcc/rust/expand/rust-proc-macro.cc 
b/gcc/rust/expand/rust-proc-macro.cc
index e8618485b71d..09680733e988 100644
--- a/gcc/rust/expand/rust-proc-macro.cc
+++ b/gcc/rust/expand/rust-proc-macro.cc
@@ -171,7 +171,7 @@ load_macros (std::string path)
   if (array == nullptr)
     return {};
 
-  rust_debug ("Found %lu procedural macros", array->length);
+  rust_debug ("Found %lu procedural macros", (unsigned long) array->length);
 
   return std::vector<ProcMacro::Procmacro> (array->macros,
                                            array->macros + array->length);
diff --git a/gcc/rust/typecheck/rust-hir-type-check-expr.cc 
b/gcc/rust/typecheck/rust-hir-type-check-expr.cc
index 9f1ee012851a..563cecbf606a 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-expr.cc
+++ b/gcc/rust/typecheck/rust-hir-type-check-expr.cc
@@ -1122,10 +1122,10 @@ TypeCheckExpr::visit (HIR::MethodCallExpr &expr)
 
   auto candidate = *candidates.begin ();
   rust_debug_loc (expr.get_method_name ().get_locus (),
-                 "resolved method to: {%u} {%s} with [%zu] adjustments",
+                 "resolved method to: {%u} {%s} with [%lu] adjustments",
                  candidate.candidate.ty->get_ref (),
                  candidate.candidate.ty->debug_str ().c_str (),
-                 candidate.adjustments.size ());
+                 (unsigned long) candidate.adjustments.size ());
 
   // Get the adjusted self
   Adjuster adj (receiver_tyty);

Reply via email to