From 5b40b9c7af1c8b958a8a8b64c590ba647fa153b6 Mon Sep 17 00:00:00 2001 From: Arthur Cohen Date: Wed, 17 Jan 2024 14:15:27 +0100 Subject: [PATCH] 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. --- 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 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 (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);