During compilation gcc complains about the following:
perl.c:4970: warning: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'U32' [-Wformat=]
perl.c:5075: warning: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'I32' [-Wformat=]
mg.c:1972: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'ssize_t' [-Wformat=]
pp_ctl.c:2610: warning: unused variable 'mark' [-Wunused-variable]
regexec.c:2275: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'int' [-Wformat=]
This patch fixes all of them.
Tony: warning: unused variable 'mark' was fixed in
481c819b
/* The magic ptr/len for the debugger's hash should always be an SV. */
if (UNLIKELY(mg->mg_len != HEf_SVKEY)) {
Perl_croak(aTHX_ "panic: magic_setdbline len=%"IVdf", ptr='%s'",
- mg->mg_len, mg->mg_ptr);
+ (IV)mg->mg_len, mg->mg_ptr);
}
/* Use sv_2iv instead of SvIV() as the former generates smaller code, and
}
if (PL_exit_flags & PERL_EXIT_WARN) {
PL_exit_flags |= PERL_EXIT_ABORT; /* Protect against reentrant calls */
- Perl_warn(aTHX_ "Unexpected exit %u", status);
+ Perl_warn(aTHX_ "Unexpected exit %lu", (unsigned long)status);
PL_exit_flags &= ~PERL_EXIT_ABORT;
}
switch (status) {
}
if (PL_exit_flags & PERL_EXIT_WARN) {
PL_exit_flags |= PERL_EXIT_ABORT; /* Protect against reentrant calls */
- Perl_warn(aTHX_ "Unexpected exit failure %u", PL_statusvalue);
+ Perl_warn(aTHX_ "Unexpected exit failure %ld", (long)PL_statusvalue);
PL_exit_flags &= ~PERL_EXIT_ABORT;
}
my_exit_jump();
: strbeg; /* pos() not defined; use start of string */
DEBUG_GPOS_r(PerlIO_printf(Perl_debug_log,
- "GPOS ganch set to strbeg[%"IVdf"]\n", reginfo->ganch - strbeg));
+ "GPOS ganch set to strbeg[%"IVdf"]\n", (IV)(reginfo->ganch - strbeg)));
/* in the presence of \G, we may need to start looking earlier in
* the string than the suggested start point of stringarg: