In perl.git, the branch blead has been updated <https://perl5.git.perl.org/perl.git/commitdiff/6658c416bf804bb9e2a97f03ecaf0a8c2e1c1d49?hp=63975e6ff2b59e9c3fcc4d085294363d332d2015>
- Log ----------------------------------------------------------------- commit 6658c416bf804bb9e2a97f03ecaf0a8c2e1c1d49 Author: Jarkko Hietaniemi <[email protected]> Date: Tue Nov 28 07:44:10 2017 +0200 STDCHAR * might not be char *. And therefore one may not be able to subtract the pointers, for example in HP-UX. commit c89db7331f874451068a6afdaf37f5a015c34053 Author: Jarkko Hietaniemi <[email protected]> Date: Tue Nov 28 07:42:54 2017 +0200 Initialize the variable. commit da431b10d911ab57576bc7c7a456e9813fd86afa Author: Jarkko Hietaniemi <[email protected]> Date: Tue Nov 28 07:28:53 2017 +0200 Make certain the info is initialized. commit 793c2ded15ca832d1df1fabbc3b2e7562a057697 Author: Jarkko Hietaniemi <[email protected]> Date: Tue Nov 28 07:22:07 2017 +0200 In some systems st.ino is never negative. (Like HP-UX.) commit 57845a20552361913004244822ad9371be7b2bb6 Author: Jarkko Hietaniemi <[email protected]> Date: Tue Nov 28 07:19:01 2017 +0200 Use UINT64_C() for 64-bit constant. ----------------------------------------------------------------------- Summary of changes: inline.h | 2 +- op.c | 2 ++ pp_sys.c | 6 +++++- toke.c | 4 ++-- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/inline.h b/inline.h index dfad907cd3..98d9edc6df 100644 --- a/inline.h +++ b/inline.h @@ -400,7 +400,7 @@ S_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep) # define PERL_VARIANTS_WORD_MASK 0x80808080 # define PERL_WORD_BOUNDARY_MASK 0x3 # elif PERL_WORDSIZE == 8 -# define PERL_VARIANTS_WORD_MASK 0x8080808080808080 +# define PERL_VARIANTS_WORD_MASK UINT64_C(0x8080808080808080) # define PERL_WORD_BOUNDARY_MASK 0x7 # else # error Unexpected word size diff --git a/op.c b/op.c index ec45f2c50b..8e6940988b 100644 --- a/op.c +++ b/op.c @@ -2694,6 +2694,8 @@ S_maybe_multiconcat(pTHX_ OP *o) || o->op_type == OP_SPRINTF || o->op_type == OP_STRINGIFY); + Zero(&sprintf_info, 1, struct sprintf_ismc_info); + /* first see if, at the top of the tree, there is an assign, * append and/or stringify */ diff --git a/pp_sys.c b/pp_sys.c index a3caf01c65..7c64ae1861 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -3016,7 +3016,11 @@ PP(pp_stat) Stat_t s; CLANG_DIAG_IGNORE(-Wtautological-compare); GCC_DIAG_IGNORE(-Wtype-limits); +#if ST_INO_SIGN == -1 neg = PL_statcache.st_ino < 0; +#else + neg = false; +#endif GCC_DIAG_RESTORE; CLANG_DIAG_RESTORE; if (neg) { @@ -3638,7 +3642,7 @@ PP(pp_fttext) /* Here contains a variant under UTF-8 . See if the entire string is * UTF-8. */ if (is_utf8_fixed_width_buf_flags(first_variant, - len - ((char *) first_variant - s), + len - ((char *) first_variant - (char *) s), 0)) { if (PL_op->op_type == OP_FTTEXT) { diff --git a/toke.c b/toke.c index a3d911b1c4..1074e7aed6 100644 --- a/toke.c +++ b/toke.c @@ -2895,8 +2895,8 @@ S_scan_const(pTHX_ char *start) should we have to convert to UTF-8) */ SV *res; /* result from charnames */ - STRLEN offset_to_max; /* The offset in the output to where the range - high-end character is temporarily placed */ + STRLEN offset_to_max = 0; /* The offset in the output to where the range + high-end character is temporarily placed */ /* Does something require special handling in tr/// ? This avoids extra * work in a less likely case. As such, khw didn't feel it was worth -- Perl5 Master Repository
