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 b4a3685ad93..ae9f6707b72 100644
--- a/gcc/rust/backend/rust-compile-base.cc
+++ b/gcc/rust/backend/rust-compile-base.cc
@@ -965,7 +965,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 e8618485b71..09680733e98 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 9dbf657958d..030e5f1b63c 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);
--
2.42.1