In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/51787acf7725ae7cd885f261996c34c0c59a0a3e?hp=33bc5d3d6ec3a139b32d094c90b2f78d7a3a2399>

- Log -----------------------------------------------------------------
commit 51787acf7725ae7cd885f261996c34c0c59a0a3e
Author: David Mitchell <[email protected]>
Date:   Fri Jul 22 23:21:49 2016 +0100

    S_pop_eval_context_maybe_croak: silence warning
    
    g++ is too dumb to notice that in
    
        SV *s;
    
        if (foo)
            s = ...;
        ...;
        if (foo)
            ...do something with s...;
    
    s can't be used uninitialised.

M       pp_ctl.c

commit c058d55cdd578aa02d7f4672d43db43adc7b5a9f
Author: David Mitchell <[email protected]>
Date:   Fri Jul 22 23:17:15 2016 +0100

    fix g++ compiler warning
    
    toke.c:4698:36: warning: enumeral and non-enumeral type in conditional 
expression [-Wextra]
          return REPORT(dojoin_was == 1 ? ')' : POSTJOIN);
    
    I have no idea why mixing enums and non-emums is bad in C++. This commit
    just casts the hell out the expression to shut it up.

M       toke.c
-----------------------------------------------------------------------

Summary of changes:
 pp_ctl.c | 2 +-
 toke.c   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pp_ctl.c b/pp_ctl.c
index 5a66e26..155349e 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1598,7 +1598,7 @@ Perl_qerror(pTHX_ SV *err)
 static void
 S_pop_eval_context_maybe_croak(pTHX_ PERL_CONTEXT *cx, SV *errsv, int action)
 {
-    SV  *namesv;
+    SV  *namesv = NULL; /* init to avoid dumb compiler warning */
     bool do_croak;
 
     CX_LEAVE_SCOPE(cx);
diff --git a/toke.c b/toke.c
index abf0377..c42d037 100644
--- a/toke.c
+++ b/toke.c
@@ -4695,7 +4695,7 @@ Perl_yylex(pTHX)
            PL_lex_dojoin = FALSE;
            PL_lex_state = LEX_INTERPCONCAT;
            PL_lex_allbrackets--;
-           return REPORT(dojoin_was == 1 ? ')' : POSTJOIN);
+           return REPORT(dojoin_was == 1 ? (int)')' : (int)POSTJOIN);
        }
        if (PL_lex_inwhat == OP_SUBST && PL_linestr == PL_lex_repl
            && SvEVALED(PL_lex_repl))

--
Perl5 Master Repository

Reply via email to