Change 29888 by [EMAIL PROTECTED] on 2007/01/19 21:24:46

        Integrate:
        [ 26545]
        Marcus Holland-Moritz suggested that assert should 
        Perl_croak_nocontext rather than Perl_croak.
        
        [ 27136]
        Subject: [PATCH] Trying my "remove the pTHXes" patch again
        From: Andy Lester <[EMAIL PROTECTED]>
        Date: Thu, 9 Feb 2006 09:40:18 -0600
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 27137]
        Regenerated headers for change #27136.
        
        [ 27138]
        Really regenerate headers
        
        [ 27140]
        Fix breakage in S_set_csh() from change #27136.
        
        [ 27145]
        Change 27136 seems to have inadvertently upset some compilers,
        presumably where NULL was defined as 0, not (void *)0
        
        [ 27148]
        Fix the effects of 27136 on Win32 with DEBUGGING and PERL_IMPLICIT_SYS
        
        [ 27152]
        A better fix than 27148
        
        Subject: Win32 assert (was Re: Smoke [5.9.4] 27145 FAIL(M) MSWin32 
WinXP/.Net SP2 (x86/2 cpu))
        From: Nicholas Clark <[EMAIL PROTECTED]>
        Date: Fri, 10 Feb 2006 14:58:47 +0000
        Message-ID: <[EMAIL PROTECTED]>
        
        Subject: RE: Win32 assert (was Re: Smoke [5.9.4] 27145 FAIL(M) MSWin32 
WinXP/.Net SP2 (x86/2 cpu))
        From: "Jan Dubois" <[EMAIL PROTECTED]>
        Date: Fri, 10 Feb 2006 09:03:41 -0800
        Message-ID: <[EMAIL PROTECTED]>

Affected files ...

... //depot/maint-5.8/perl/Makefile.SH#59 integrate
... //depot/maint-5.8/perl/cc_runtime.h#5 integrate
... //depot/maint-5.8/perl/cop.h#25 integrate
... //depot/maint-5.8/perl/deb.c#18 integrate
... //depot/maint-5.8/perl/embed.fnc#169 edit
... //depot/maint-5.8/perl/embed.h#128 edit
... //depot/maint-5.8/perl/hv.c#95 integrate
... //depot/maint-5.8/perl/mg.c#123 integrate
... //depot/maint-5.8/perl/op.c#159 integrate
... //depot/maint-5.8/perl/op.h#30 integrate
... //depot/maint-5.8/perl/perl.c#185 integrate
... //depot/maint-5.8/perl/perl.h#128 integrate
... //depot/maint-5.8/perl/pp.c#111 integrate
... //depot/maint-5.8/perl/pp_ctl.c#142 integrate
... //depot/maint-5.8/perl/pp_sort.c#41 integrate
... //depot/maint-5.8/perl/proto.h#158 edit
... //depot/maint-5.8/perl/regcomp.c#78 integrate
... //depot/maint-5.8/perl/regexec.c#65 integrate
... //depot/maint-5.8/perl/sv.c#290 edit
... //depot/maint-5.8/perl/toke.c#133 integrate
... //depot/maint-5.8/perl/utf8.c#63 integrate
... //depot/maint-5.8/perl/util.c#121 integrate

Differences ...

==== //depot/maint-5.8/perl/Makefile.SH#59 (text) ====
Index: perl/Makefile.SH
--- perl/Makefile.SH#58~28437~  2006-06-27 14:21:12.000000000 -0700
+++ perl/Makefile.SH    2007-01-19 13:24:46.000000000 -0800
@@ -381,30 +381,33 @@
 obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
 
 lintflags = \
-    -bhn \
+    -b \
+    -n \
     -p \
-    -s \
     -Ncheck=%all \
     -Nlevel=4 \
     -errfmt=src \
     -errtags \
+    -erroff=E_ASSIGN_NARROW_CONV \
     -erroff=E_BAD_PTR_CAST \
+    -erroff=E_BAD_PTR_CAST_ALIGN \
+    -erroff=E_BAD_PTR_INT_COMBINATION \
+    -erroff=E_BAD_SIGN_EXTEND \
     -erroff=E_BLOCK_DECL_UNUSED \
+    -erroff=E_CASE_FALLTHRU \
     -erroff=E_CONSTANT_CONDITION \
-    -erroff=E_BAD_PTR_CAST_ALIGN \
-    -erroff=E_PTRDIFF_OVERFLOW \
+    -erroff=E_EQUALITY_NOT_ASSIGNMENT \
     -erroff=E_EXPR_NULL_EFFECT \
-    -erroff=E_BAD_PTR_INT_COMBINATION \
-    -erroff=E_LOOP_EMPTY \
-    -erroff=E_TRUE_LOGICAL_EXPR \
     -erroff=E_FALSE_LOGICAL_EXPR \
-    -erroff=E_INDISTING_FROM_TRUNC \
-    -erroff=E_POINTER_TO_OBJECT \
-    -erroff=E_ASSIGN_NARROW_CONV \
-    -erroff=E_BAD_SIGN_EXTEND \
     -erroff=E_INCL_NUSD \
+    -erroff=E_INDISTING_FROM_TRUNC \
+    -erroff=E_LOOP_EMPTY \
     -erroff=E_MAIN_PARAM \
-    -Wfoo.flow
+    -erroff=E_POINTER_TO_OBJECT \
+    -erroff=E_PTRDIFF_OVERFLOW \
+    -erroff=E_SHIFT_CNT_NEG_TOO_BIG_L \
+    -erroff=E_STATIC_UNUSED \
+    -erroff=E_TRUE_LOGICAL_EXPR \
 
 .c$(OBJ_EXT):
        $(CCCMD) $(PLDLFLAGS) $*.c

==== //depot/maint-5.8/perl/cop.h#25 (text) ====
Index: perl/cop.h
--- perl/cop.h#24~29801~        2007-01-13 15:40:49.000000000 -0800
+++ perl/cop.h  2007-01-19 13:24:46.000000000 -0800
@@ -30,8 +30,6 @@
     SV *       cop_io;         /* lexical IO defaults */
 };
 
-#define Nullcop Null(COP*)
-
 #ifdef USE_ITHREADS
 #  define CopFILE(c)           ((c)->cop_file)
 #  define CopFILEGV(c)         (CopFILE(c) \
@@ -219,7 +217,7 @@
        cx->blk_eval.old_namesv = (n ? newSVpv(n,0) : NULL);            \
        cx->blk_eval.old_eval_root = PL_eval_root;                      \
        cx->blk_eval.cur_text = PL_linestr;                             \
-       cx->blk_eval.cv = Nullcv; /* set by doeval(), as applicable */  \
+       cx->blk_eval.cv = NULL; /* set by doeval(), as applicable */    \
     } STMT_END
 
 #define POPEVAL(cx)                                                    \

==== //depot/maint-5.8/perl/deb.c#18 (text) ====
Index: perl/deb.c
--- perl/deb.c#17~29800~        2007-01-13 15:25:42.000000000 -0800
+++ perl/deb.c  2007-01-19 13:24:46.000000000 -0800
@@ -32,6 +32,8 @@
     va_start(args, pat);
     vdeb(pat, &args);
     va_end(args);
+#else
+    PERL_UNUSED_ARG(pat);
 #endif /* DEBUGGING */
 }
 #endif
@@ -53,7 +55,7 @@
 Perl_vdeb(pTHX_ const char *pat, va_list *args)
 {
 #ifdef DEBUGGING
-    char* file = OutCopFILE(PL_curcop);
+    const char* const file = OutCopFILE(PL_curcop);
 
 #ifdef USE_5005THREADS
     PerlIO_printf(Perl_debug_log, "0x%"UVxf" (%s:%ld)\t",

==== //depot/maint-5.8/perl/embed.fnc#169 (text) ====
Index: perl/embed.fnc
--- perl/embed.fnc#168~29886~   2007-01-19 12:40:06.000000000 -0800
+++ perl/embed.fnc      2007-01-19 13:24:46.000000000 -0800
@@ -1065,8 +1065,8 @@
 s      |void   |hsplit         |NN HV *hv
 s      |void   |hfreeentries   |NN HV *hv
 sa     |HE*    |new_he
-sa     |HEK*   |save_hek_flags |NN const char *str|I32 len|U32 hash|int flags
-s      |void   |hv_magic_check |NN HV *hv|NN bool *needs_copy|NN bool 
*needs_store
+sanR   |HEK*   |save_hek_flags |NN const char *str|I32 len|U32 hash|int flags
+sn     |void   |hv_magic_check |NN HV *hv|NN bool *needs_copy|NN bool 
*needs_store
 s      |void   |unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* 
str|I32 len|U32 hash
 sR     |HEK*   |share_hek_flags|NN const char* str|I32 len|U32 hash|int flags
 rs     |void   |hv_notallowed  |int flags|NN const char *key|I32 klen|NN const 
char *msg
@@ -1083,7 +1083,7 @@
 #endif
 
 #if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-sR     |bool   |is_handle_constructor|NN const OP *o|I32 numargs
+sRn    |bool   |is_handle_constructor|NN const OP *o|I32 numargs
 sR     |I32    |is_list_assignment|NULLOK const OP *o
 s      |void   |cop_free       |NN COP *cop
 s      |OP*    |modkids        |NULLOK OP *o|I32 type
@@ -1092,7 +1092,7 @@
 sR     |OP*    |new_logop      |I32 type|I32 flags|NN OP **firstp|NN OP 
**otherp
 s      |void   |simplify_sort  |NN OP *o
 s      |const char*    |gv_ename       |NN GV *gv
-s      |bool   |scalar_mod_type|NN const OP *o|I32 type
+sRn    |bool   |scalar_mod_type|NN const OP *o|I32 type
 s      |OP *   |my_kid         |NULLOK OP *o|NULLOK OP *attrs|NN OP **imopsp
 s      |OP *   |dup_attrlist   |NN OP *o
 s      |void   |apply_attrs    |NN HV *stash|NN SV *target|NULLOK OP 
*attrs|bool for_my
@@ -1188,7 +1188,7 @@
 sR     |OP*    |doeval         |int gimme|NULLOK OP** startop|NULLOK CV* 
outside|U32 seq
 sR     |PerlIO *|check_type_and_open|NN const char *name|NN const char *mode
 sR     |PerlIO *|doopen_pm     |NN const char *name|NN const char *mode
-sR     |bool   |path_is_absolute|NN const char *name
+sRn    |bool   |path_is_absolute|NN const char *name
 sR     |I32    |run_user_filter|int idx|NN SV *buf_sv|int maxlen
 #endif
 
@@ -1227,13 +1227,13 @@
 Es     |regnode*|regbranch     |NN struct RExC_state_t *state|NN I32 
*flagp|I32 first
 Es     |void   |reguni         |NN const struct RExC_state_t *state|UV uv|NN 
char *s|NN STRLEN *lenp
 Es     |regnode*|regclass      |NN struct RExC_state_t *state
-ERs    |I32    |regcurly       |NN const char *
+ERsn   |I32    |regcurly       |NN const char *
 Es     |regnode*|reg_node      |NN struct RExC_state_t *state|U8 op
 Es     |regnode*|regpiece      |NN struct RExC_state_t *state|NN I32 *flagp
 Es     |void   |reginsert      |NN struct RExC_state_t *state|U8 op|NN regnode 
*opnd
 Es     |void   |regoptail      |NN struct RExC_state_t *state|NN regnode *p|NN 
regnode *val
 Es     |void   |regtail        |NN struct RExC_state_t *state|NN regnode *p|NN 
regnode *val
-Es     |char*  |regwhite       |NN char *p|NN const char *e
+EsRn   |char*  |regwhite       |NN char *p|NN const char *e
 Es     |char*  |nextchar       |NN struct RExC_state_t *state
 #  ifdef DEBUGGING
 Es     |regnode*|dumpuntil     |NN regnode *start|NN regnode *node \
@@ -1241,18 +1241,18 @@
 Es     |void   |put_byte       |NN SV* sv|int c
 #  endif
 Es     |void   |scan_commit    |NN struct RExC_state_t* state|NN struct 
scan_data_t *data
-Es     |void   |cl_anything    |NN struct RExC_state_t* state|NN struct 
regnode_charclass_class *cl
-Es     |int    |cl_is_anything |NN const struct regnode_charclass_class *cl
-Es     |void   |cl_init        |NN struct RExC_state_t* state|NN struct 
regnode_charclass_class *cl
-Es     |void   |cl_init_zero   |NN struct RExC_state_t* state|NN struct 
regnode_charclass_class *cl
-Es     |void   |cl_and         |NN struct regnode_charclass_class *cl \
+Esn    |void   |cl_anything    |NN struct RExC_state_t* state|NN struct 
regnode_charclass_class *cl
+EsRn   |int    |cl_is_anything |NN const struct regnode_charclass_class *cl
+Esn    |void   |cl_init        |NN struct RExC_state_t* state|NN struct 
regnode_charclass_class *cl
+Esn    |void   |cl_init_zero   |NN struct RExC_state_t* state|NN struct 
regnode_charclass_class *cl
+Esn    |void   |cl_and         |NN struct regnode_charclass_class *cl \
                                |NN const struct regnode_charclass_class 
*and_with
-Es     |void   |cl_or          |NN struct RExC_state_t* state|NN struct 
regnode_charclass_class *cl \
+Esn    |void   |cl_or          |NN struct RExC_state_t* state|NN struct 
regnode_charclass_class *cl \
                                |NN const struct regnode_charclass_class 
*or_with
 Es     |I32    |study_chunk    |NN struct RExC_state_t* state|NN regnode 
**scanp \
                                |NN I32 *deltap|NN regnode *last|NULLOK struct 
scan_data_t *data \
                                |U32 flags
-Es     |I32    |add_data       |NN struct RExC_state_t* state|I32 n|NN const 
char *s
+EsRn   |I32    |add_data       |NN struct RExC_state_t* state|I32 n|NN const 
char *s
 rs     |void   |re_croak2      |NN const char* pat1|NN const char* pat2|...
 Es     |I32    |regpposixcc    |NN struct RExC_state_t* state|I32 value
 Es     |void   |checkposixcc   |NN struct RExC_state_t* state
@@ -1269,9 +1269,9 @@
 Es     |char*|regcppop
 Es     |void   |cache_re       |NN regexp *prog
 ERs    |U8*    |reghop         |NN U8 *pos|I32 off
-ERs    |U8*    |reghop3        |NN U8 *pos|I32 off|NN U8 *lim
+ERsn   |U8*    |reghop3        |NN U8 *pos|I32 off|NN U8 *lim
 ERs    |U8*    |reghopmaybe    |NN U8 *pos|I32 off
-ERs    |U8*    |reghopmaybe3   |NN U8 *pos|I32 off|NN U8 *lim
+ERsn   |U8*    |reghopmaybe3   |NN U8 *pos|I32 off|NN U8 *lim
 ERs    |char*  |find_byclass   |NN regexp * prog|NN regnode *c|NN char *s|NN 
const char *strend|I32 norun
 Es     |void   |to_utf8_substr |NN regexp * prog
 Es     |void   |to_byte_substr |NN regexp * prog
@@ -1315,6 +1315,12 @@
                |NN const U8 *end|STRLEN endu
 s      |char * |stringify_regexp|NN SV *sv|NN MAGIC *mg|NULLOK STRLEN *lp
 sn     |char * |F0convert      |NV nv|NN char *endbuf|NN STRLEN *len
+s      |SV *   |more_sv
+s      |void * |more_bodies    |size_t size|svtype sv_type
+s      |bool   |sv_2iuv_common |NN SV *sv
+s      |void   |glob_assign_glob|NN SV *dstr|NN SV *sstr|const int dtype
+s      |void   |glob_assign_ref|NN SV *dstr|NN SV *sstr
+sRn    |PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *tbl|NN const void *sv
 s      |void   |reset_amagic   |NN SV *rv|const bool on
 #endif
 
@@ -1377,7 +1383,7 @@
 #endif
 
 #if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-s      |COP*   |closest_cop    |NN COP *cop|NULLOK const OP *o
+s      |const COP*|closest_cop |NN const COP *cop|NULLOK const OP *o
 s      |SV*    |mess_alloc
 xo     |const char *|vdie_croak_common|NULLOK const char *pat|NULLOK va_list 
*args \
                                |NULLOK STRLEN *msglen|NULLOK I32* utf8
@@ -1391,7 +1397,7 @@
 #endif
 
 #if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
-s      |STRLEN |is_utf8_char_slow|NN const U8 *s|const STRLEN len
+sRn    |STRLEN |is_utf8_char_slow|NN const U8 *s|const STRLEN len
 sR     |bool   |is_utf8_common |NN const U8 *const p|NN SV **swash|NN const 
char * const swashname
 sR     |SV*    |swash_get      |NN SV* swash|UV start|UV span
 #endif

==== //depot/maint-5.8/perl/embed.h#128 (text+w) ====
Index: perl/embed.h
--- perl/embed.h#127~29886~     2007-01-19 12:40:06.000000000 -0800
+++ perl/embed.h        2007-01-19 13:24:46.000000000 -0800
@@ -1348,6 +1348,12 @@
 #define sv_pos_b2u_midway      S_sv_pos_b2u_midway
 #define stringify_regexp       S_stringify_regexp
 #define F0convert              S_F0convert
+#define more_sv                        S_more_sv
+#define more_bodies            S_more_bodies
+#define sv_2iuv_common         S_sv_2iuv_common
+#define glob_assign_glob       S_glob_assign_glob
+#define glob_assign_ref                S_glob_assign_ref
+#define ptr_table_find         S_ptr_table_find
 #define reset_amagic           S_reset_amagic
 #endif
 #endif
@@ -3139,8 +3145,8 @@
 #define hsplit(a)              S_hsplit(aTHX_ a)
 #define hfreeentries(a)                S_hfreeentries(aTHX_ a)
 #define new_he()               S_new_he(aTHX)
-#define save_hek_flags(a,b,c,d)        S_save_hek_flags(aTHX_ a,b,c,d)
-#define hv_magic_check(a,b,c)  S_hv_magic_check(aTHX_ a,b,c)
+#define save_hek_flags         S_save_hek_flags
+#define hv_magic_check         S_hv_magic_check
 #define unshare_hek_or_pvn(a,b,c,d)    S_unshare_hek_or_pvn(aTHX_ a,b,c,d)
 #define share_hek_flags(a,b,c,d)       S_share_hek_flags(aTHX_ a,b,c,d)
 #define hv_notallowed(a,b,c,d) S_hv_notallowed(aTHX_ a,b,c,d)
@@ -3157,7 +3163,7 @@
 #endif
 #if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
-#define is_handle_constructor(a,b)     S_is_handle_constructor(aTHX_ a,b)
+#define is_handle_constructor  S_is_handle_constructor
 #define is_list_assignment(a)  S_is_list_assignment(aTHX_ a)
 #define cop_free(a)            S_cop_free(aTHX_ a)
 #define modkids(a,b)           S_modkids(aTHX_ a,b)
@@ -3166,7 +3172,7 @@
 #define new_logop(a,b,c,d)     S_new_logop(aTHX_ a,b,c,d)
 #define simplify_sort(a)       S_simplify_sort(aTHX_ a)
 #define gv_ename(a)            S_gv_ename(aTHX_ a)
-#define scalar_mod_type(a,b)   S_scalar_mod_type(aTHX_ a,b)
+#define scalar_mod_type                S_scalar_mod_type
 #define my_kid(a,b,c)          S_my_kid(aTHX_ a,b,c)
 #define dup_attrlist(a)                S_dup_attrlist(aTHX_ a)
 #define apply_attrs(a,b,c,d)   S_apply_attrs(aTHX_ a,b,c,d)
@@ -3273,7 +3279,7 @@
 #define doeval(a,b,c,d)                S_doeval(aTHX_ a,b,c,d)
 #define check_type_and_open(a,b)       S_check_type_and_open(aTHX_ a,b)
 #define doopen_pm(a,b)         S_doopen_pm(aTHX_ a,b)
-#define path_is_absolute(a)    S_path_is_absolute(aTHX_ a)
+#define path_is_absolute       S_path_is_absolute
 #define run_user_filter(a,b,c) S_run_user_filter(aTHX_ a,b,c)
 #endif
 #endif
@@ -3317,13 +3323,13 @@
 #define regbranch(a,b,c)       S_regbranch(aTHX_ a,b,c)
 #define reguni(a,b,c,d)                S_reguni(aTHX_ a,b,c,d)
 #define regclass(a)            S_regclass(aTHX_ a)
-#define regcurly(a)            S_regcurly(aTHX_ a)
+#define regcurly               S_regcurly
 #define reg_node(a,b)          S_reg_node(aTHX_ a,b)
 #define regpiece(a,b)          S_regpiece(aTHX_ a,b)
 #define reginsert(a,b,c)       S_reginsert(aTHX_ a,b,c)
 #define regoptail(a,b,c)       S_regoptail(aTHX_ a,b,c)
 #define regtail(a,b,c)         S_regtail(aTHX_ a,b,c)
-#define regwhite(a,b)          S_regwhite(aTHX_ a,b)
+#define regwhite               S_regwhite
 #define nextchar(a)            S_nextchar(aTHX_ a)
 #endif
 #  ifdef DEBUGGING
@@ -3334,14 +3340,14 @@
 #  endif
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define scan_commit(a,b)       S_scan_commit(aTHX_ a,b)
-#define cl_anything(a,b)       S_cl_anything(aTHX_ a,b)
-#define cl_is_anything(a)      S_cl_is_anything(aTHX_ a)
-#define cl_init(a,b)           S_cl_init(aTHX_ a,b)
-#define cl_init_zero(a,b)      S_cl_init_zero(aTHX_ a,b)
-#define cl_and(a,b)            S_cl_and(aTHX_ a,b)
-#define cl_or(a,b,c)           S_cl_or(aTHX_ a,b,c)
+#define cl_anything            S_cl_anything
+#define cl_is_anything         S_cl_is_anything
+#define cl_init                        S_cl_init
+#define cl_init_zero           S_cl_init_zero
+#define cl_and                 S_cl_and
+#define cl_or                  S_cl_or
 #define study_chunk(a,b,c,d,e,f)       S_study_chunk(aTHX_ a,b,c,d,e,f)
-#define add_data(a,b,c)                S_add_data(aTHX_ a,b,c)
+#define add_data               S_add_data
 #endif
 #ifdef PERL_CORE
 #endif
@@ -3361,9 +3367,9 @@
 #define regcppop()             S_regcppop(aTHX)
 #define cache_re(a)            S_cache_re(aTHX_ a)
 #define reghop(a,b)            S_reghop(aTHX_ a,b)
-#define reghop3(a,b,c)         S_reghop3(aTHX_ a,b,c)
+#define reghop3                        S_reghop3
 #define reghopmaybe(a,b)       S_reghopmaybe(aTHX_ a,b)
-#define reghopmaybe3(a,b,c)    S_reghopmaybe3(aTHX_ a,b,c)
+#define reghopmaybe3           S_reghopmaybe3
 #define find_byclass(a,b,c,d,e)        S_find_byclass(aTHX_ a,b,c,d,e)
 #define to_utf8_substr(a)      S_to_utf8_substr(aTHX_ a)
 #define to_byte_substr(a)      S_to_byte_substr(aTHX_ a)
@@ -3411,6 +3417,12 @@
 #define sv_pos_b2u_midway(a,b,c,d)     S_sv_pos_b2u_midway(aTHX_ a,b,c,d)
 #define stringify_regexp(a,b,c)        S_stringify_regexp(aTHX_ a,b,c)
 #define F0convert              S_F0convert
+#define more_sv()              S_more_sv(aTHX)
+#define more_bodies(a,b)       S_more_bodies(aTHX_ a,b)
+#define sv_2iuv_common(a)      S_sv_2iuv_common(aTHX_ a)
+#define glob_assign_glob(a,b,c)        S_glob_assign_glob(aTHX_ a,b,c)
+#define glob_assign_ref(a,b)   S_glob_assign_ref(aTHX_ a,b)
+#define ptr_table_find         S_ptr_table_find
 #define reset_amagic(a,b)      S_reset_amagic(aTHX_ a,b)
 #endif
 #endif
@@ -3490,7 +3502,7 @@
 #endif
 #if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
-#define is_utf8_char_slow(a,b) S_is_utf8_char_slow(aTHX_ a,b)
+#define is_utf8_char_slow      S_is_utf8_char_slow
 #define is_utf8_common(a,b,c)  S_is_utf8_common(aTHX_ a,b,c)
 #define swash_get(a,b,c)       S_swash_get(aTHX_ a,b,c)
 #endif

==== //depot/maint-5.8/perl/hv.c#95 (text) ====
Index: perl/hv.c
--- perl/hv.c#94~29886~ 2007-01-19 12:40:06.000000000 -0800
+++ perl/hv.c   2007-01-19 13:24:46.000000000 -0800
@@ -86,7 +86,7 @@
 #endif
 
 STATIC HEK *
-S_save_hek_flags(pTHX_ const char *str, I32 len, U32 hash, int flags)
+S_save_hek_flags(const char *str, I32 len, U32 hash, int flags)
 {
     const int flags_masked = flags & HVhek_MASK;
     char *k;
@@ -806,7 +806,7 @@
 }
 
 STATIC void
-S_hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store)
+S_hv_magic_check(HV *hv, bool *needs_copy, bool *needs_store)
 {
     const MAGIC *mg = SvMAGIC(hv);
     *needs_copy = FALSE;

==== //depot/maint-5.8/perl/mg.c#123 (text) ====
Index: perl/mg.c
--- perl/mg.c#122~29808~        2007-01-14 05:22:20.000000000 -0800
+++ perl/mg.c   2007-01-19 13:24:46.000000000 -0800
@@ -358,7 +358,7 @@
                 return mg;
         }
     }
-    return 0;
+    return NULL;
 }
 
 /*

==== //depot/maint-5.8/perl/op.c#159 (text) ====
Index: perl/op.c
--- perl/op.c#158~29858~        2007-01-17 13:17:52.000000000 -0800
+++ perl/op.c   2007-01-19 13:24:46.000000000 -0800
@@ -146,14 +146,14 @@
 }
 #endif
 /*
- * In the following definition, the ", Nullop" is just to make the compiler
+ * In the following definition, the ", (OP*)0" is just to make the compiler
  * think the expression is of the right type: croak actually does a Siglongjmp.
  */
 #define CHECKOP(type,o) \
-    ((PL_op_mask && PL_op_mask[type])                                  \
+    ((PL_op_mask && PL_op_mask[type])                          \
      ? ( op_free((OP*)o),                                      \
         Perl_croak(aTHX_ "'%s' trapped by operation mask", PL_op_desc[type]),  
\
-        Nullop )                                               \
+        (OP*)0 )                                               \
      : CALL_FPTR(PL_check[type])(aTHX_ (OP*)o))
 
 #define RETURN_UNLIMITED_NUMBER (PERL_INT_MAX / 2)
@@ -495,7 +495,7 @@
            }
            PmopSTASH_free(cPMOPo);
        }
-       cPMOPo->op_pmreplroot = Nullop;
+       cPMOPo->op_pmreplroot = NULL;
         /* we use the "SAFE" version of the PM_ macros here
          * since sv_clean_all might release some PMOPs
          * after PL_regex_padav has been cleared
@@ -503,7 +503,7 @@
          * happen before sv_clean_all
          */
        ReREFCNT_dec(PM_GETRE_SAFE(cPMOPo));
-       PM_SETRE_SAFE(cPMOPo, (REGEXP*)NULL);
+       PM_SETRE_SAFE(cPMOPo, NULL);
 #ifdef USE_ITHREADS
        if(PL_regex_pad) {        /* We could be in destruction */
             av_push((AV*) PL_regex_pad[0],(SV*) 
PL_regex_pad[(cPMOPo)->op_pmoffset]);
@@ -1137,7 +1137,7 @@
                        NewOp(1101, newop, 1, UNOP);
                        newop->op_type = OP_RV2CV;
                        newop->op_ppaddr = PL_ppaddr[OP_RV2CV];
-                       newop->op_first = Nullop;
+                       newop->op_first = NULL;
                         newop->op_next = (OP*)newop;
                        kid->op_sibling = (OP*)newop;
                        newop->op_private |= OPpLVAL_INTRO;
@@ -1171,7 +1171,7 @@
                        kid->op_next = okid;
                    }
                    else
-                       okid->op_next = Nullop;
+                       okid->op_next = NULL;
                    okid->op_type = OP_RV2CV;
                    okid->op_targ = 0;
                    okid->op_ppaddr = PL_ppaddr[OP_RV2CV];
@@ -1385,7 +1385,7 @@
 }
 
 STATIC bool
-S_scalar_mod_type(pTHX_ const OP *o, I32 type)
+S_scalar_mod_type(const OP *o, I32 type)
 {
     switch (type) {
     case OP_SASSIGN:
@@ -1432,7 +1432,7 @@
 }
 
 STATIC bool
-S_is_handle_constructor(pTHX_ const OP *o, I32 numargs)
+S_is_handle_constructor(const OP *o, I32 numargs)
 {
     switch (o->op_type) {
     case OP_PIPE_OP:
@@ -1448,7 +1448,7 @@
     case OP_ACCEPT:
        if (numargs == 1)
            return TRUE;
-       /* FALL THROUGH */
+       /* FALLTHROUGH */
     default:
        return FALSE;
     }
@@ -1574,7 +1574,7 @@
        rop = newSVOP(OP_CONST, o->op_flags, SvREFCNT_inc_NN(cSVOPo->op_sv));
     else {
        assert((o->op_type == OP_LIST) && (o->op_flags & OPf_KIDS));
-       rop = Nullop;
+       rop = NULL;
        for (o = cLISTOPo->op_first; o; o=o->op_sibling) {
            if (o->op_type == OP_CONST)
                rop = append_elem(OP_LIST, rop,
@@ -1690,7 +1690,7 @@
 Perl_apply_attrs_string(pTHX_ char *stashpv, CV *cv,
                         char *attrstr, STRLEN len)
 {
-    OP *attrs = Nullop;
+    OP *attrs = NULL;
 
     if (!len) {
         len = strlen(attrstr);
@@ -1796,7 +1796,7 @@
 #endif
     if (attrs)
        SAVEFREEOP(attrs);
-    rops = Nullop;
+    rops = NULL;
     o = my_kid(o, attrs, &rops);
     if (rops) {
        if (maybe_scalar && o->op_type == OP_PADSV) {
@@ -1814,7 +1814,7 @@
 OP *
 Perl_my(pTHX_ OP *o)
 {
-    return my_attrs(o, Nullop);
+    return my_attrs(o, NULL);
 }
 
 OP *
@@ -1910,7 +1910,7 @@
            }
        }
        else
-           o = newLISTOP(OP_SCOPE, 0, o, Nullop);
+           o = newLISTOP(OP_SCOPE, 0, o, NULL);
     }
     return o;
 }
@@ -2269,7 +2269,7 @@
 Perl_convert(pTHX_ I32 type, I32 flags, OP *o)
 {
     if (!o || o->op_type != OP_LIST)
-       o = newLISTOP(OP_LIST, 0, o, Nullop);
+       o = newLISTOP(OP_LIST, 0, o, NULL);
     else
        o->op_flags &= ~OPf_WANT;
 
@@ -2381,7 +2381,7 @@
 Perl_force_list(pTHX_ OP *o)
 {
     if (!o || o->op_type != OP_LIST)
-       o = newLISTOP(OP_LIST, 0, o, Nullop);
+       o = newLISTOP(OP_LIST, 0, o, NULL);
     op_null(o);
     return o;
 }
@@ -2491,7 +2491,10 @@
     return fold_constants((OP *)binop);
 }
 
-static int uvcompare(const void *a, const void *b) __attribute__nonnull__(1) 
__attribute__nonnull__(2) __attribute__pure__;
+static int uvcompare(const void *a, const void *b)
+    __attribute__nonnull__(1)
+    __attribute__nonnull__(2)
+    __attribute__pure__;
 static int uvcompare(const void *a, const void *b)
 {
     if (*((const UV *)a) < (*(const UV *)b))
@@ -3118,7 +3121,7 @@
     if (idop->op_type != OP_CONST)
        Perl_croak(aTHX_ "Module name must be constant");
 
-    veop = Nullop;
+    veop = NULL;
 
     if (version) {
        SV * const vesv = ((SVOP*)version)->op_sv;
@@ -3156,7 +3159,7 @@
     if (arg && arg->op_type == OP_STUB)
        imop = arg;             /* no import on explicit () */
     else if (SvNIOKp(((SVOP*)idop)->op_sv)) {
-       imop = Nullop;          /* use 5.0; */
+       imop = NULL;            /* use 5.0; */
        if (!aver)
            idop->op_private |= OPpCONST_NOVER;
     }
@@ -3184,8 +3187,8 @@
     /* Fake up the BEGIN {}, which does its thing immediately. */
     newATTRSUB(floor,
        newSVOP(OP_CONST, 0, newSVpvs("BEGIN")),
-       Nullop,
-       Nullop,
+       NULL,
+       NULL,
        append_elem(OP_LINESEQ,
            append_elem(OP_LINESEQ,
                newSTATEOP(0, NULL, newUNOP(OP_REQUIRE, 0, idop)),
@@ -3263,7 +3266,7 @@
        veop = newSVOP(OP_CONST, 0, ver);
     }
     else
-       veop = Nullop;
+       veop = NULL;
     if (flags & PERL_LOADMOD_NOIMPORT) {
        imop = sawparens(newNULLLIST());
     }
@@ -3272,7 +3275,7 @@
     }
     else {
        SV *sv;
-       imop = Nullop;
+       imop = NULL;
        sv = va_arg(*args, SV*);
        while (sv) {
            imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv));
@@ -3504,7 +3507,7 @@
                        pm->op_pmflags |= PMf_ONCE;
                        tmpop = cUNOPo->op_first;       /* to list (nulled) */
                        tmpop = ((UNOP*)tmpop)->op_first; /* to pushmark */
-                       tmpop->op_sibling = Nullop;     /* don't free split */
+                       tmpop->op_sibling = NULL;       /* don't free split */
                        right->op_next = tmpop->op_next;  /* fix starting loc */
                        op_free(o);                     /* blow off assign */
                        right->op_flags &= ~OPf_WANT;
@@ -3637,7 +3640,7 @@
            first = *firstp = cUNOPo->op_first;
            if (o->op_next)
                first->op_next = o->op_next;
-           cUNOPo->op_first = Nullop;
+           cUNOPo->op_first = NULL;
            op_free(o);
        }
     }
@@ -3648,14 +3651,14 @@
                Perl_warner(aTHX_ packWARN(WARN_BAREWORD), "Bareword found in 
conditional");
        if ((type == OP_AND) == (SvTRUE(((SVOP*)first)->op_sv))) {
            op_free(first);
-           *firstp = Nullop;
+           *firstp = NULL;
            if (other->op_type == OP_CONST)
                other->op_private |= OPpCONST_SHORTCIRCUIT;
            return other;
        }
        else {
            op_free(other);
-           *otherp = Nullop;
+           *otherp = NULL;
            if (first->op_type == OP_CONST)
                first->op_private |= OPpCONST_SHORTCIRCUIT;
            return first;
@@ -3963,7 +3966,7 @@
        if (o == expr && o->op_type == OP_CONST && !SvTRUE(cSVOPo->op_sv)) {
            op_free(expr);              /* oops, it's a while (0) */
            op_free((OP*)loop);
-           return Nullop;              /* listop already freed by new_logop */
+           return NULL;                /* listop already freed by new_logop */
        }
        if (listop)
            ((LISTOP*)listop)->op_last->op_next =
@@ -4016,7 +4019,7 @@
            padoff = sv->op_targ;
            sv->op_targ = 0;
            op_free(sv);
-           sv = Nullop;
+           sv = NULL;
        }
 #ifdef USE_5005THREADS
        else if (sv->op_type == OP_THREADSV) { /* per-thread variable */
@@ -4024,7 +4027,7 @@
            sv->op_targ = 0;
            iterflags |= OPf_SPECIAL;
            op_free(sv);
-           sv = Nullop;
+           sv = NULL;
        }
 #endif
        else
@@ -4057,7 +4060,7 @@
        LISTOP* listop;
 
        range->op_flags &= ~OPf_KIDS;
-       range->op_first = Nullop;
+       range->op_first = NULL;
 
        listop = (LISTOP*)newLISTOP(OP_LIST, 0, left, right);
        listop->op_first->op_next = range->op_next;
@@ -4168,8 +4171,8 @@
        PAD_SAVE_SETNULLPAD();
 
        op_free(CvROOT(cv));
-       CvROOT(cv) = Nullop;
-       CvSTART(cv) = Nullop;
+       CvROOT(cv) = NULL;
+       CvSTART(cv) = NULL;
        LEAVE;
     }
     SvPOK_off((SV*)cv);                /* forget prototype */
@@ -4315,7 +4318,7 @@
 CV *
 Perl_newSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *block)
 {
-    return Perl_newATTRSUB(aTHX_ floor, o, proto, Nullop, block);
+    return Perl_newATTRSUB(aTHX_ floor, o, proto, NULL, block);
 }
 
 CV *
@@ -4538,7 +4541,7 @@
 
     if (PL_error_count) {
        op_free(block);
-       block = Nullop;
+       block = NULL;
        if (name) {
            const char *s = strrchr(name, ':');
            s = s ? s+1 : name;
@@ -4898,7 +4901,7 @@
 OP *
 Perl_newANONSUB(pTHX_ I32 floor, OP *proto, OP *block)
 {
-    return newANONATTRSUB(floor, proto, Nullop, block);
+    return newANONATTRSUB(floor, proto, NULL, block);
 }
 
 OP *
@@ -5298,7 +5301,7 @@
            return o;
        }
        if ((PL_hints & HINT_STRICT_REFS) && (kid->op_private & OPpCONST_BARE)) 
{
-            const char *badthing = NULL;
+           const char *badthing;
            switch (o->op_type) {
            case OP_RV2SV:
                badthing = "a SCALAR";
@@ -5309,6 +5312,9 @@
            case OP_RV2HV:
                badthing = "a HASH";
                break;
+           default:
+               badthing = NULL;
+               break;
            }
            if (badthing)
                Perl_croak(aTHX_
@@ -6332,9 +6338,9 @@
        if (o2->op_type == OP_CONST)
            o2->op_private &= ~OPpCONST_STRICT;
        else if (o2->op_type == OP_LIST) {
-           OP * const o = ((UNOP*)o2)->op_first->op_sibling;
-           if (o && o->op_type == OP_CONST)
-               o->op_private &= ~OPpCONST_STRICT;
+           OP * const sib = ((UNOP*)o2)->op_first->op_sibling;
+           if (sib && sib->op_type == OP_CONST)
+               sib->op_private &= ~OPpCONST_STRICT;
        }
     }
     o->op_private |= (PL_hints & HINT_STRICT_REFS);

==== //depot/maint-5.8/perl/op.h#30 (text) ====
Index: perl/op.h
--- perl/op.h#29~29785~ 2007-01-13 08:56:44.000000000 -0800
+++ perl/op.h   2007-01-19 13:24:46.000000000 -0800
@@ -501,7 +501,7 @@
 #endif
 
 #define OpREFCNT_set(o,n)              ((o)->op_targ = (n))
-#define OpREFCNT_inc(o)                        ((o) ? (++(o)->op_targ, (o)) : 
Nullop)
+#define OpREFCNT_inc(o)                        ((o) ? (++(o)->op_targ, (o)) : 
NULL)
 #define OpREFCNT_dec(o)                        (--(o)->op_targ)
 
 /* flags used by Perl_load_module() */

==== //depot/maint-5.8/perl/perl.c#185 (text) ====
Index: perl/perl.c
--- perl/perl.c#184~29865~      2007-01-17 15:48:41.000000000 -0800
+++ perl/perl.c 2007-01-19 13:24:46.000000000 -0800
@@ -832,9 +832,9 @@
            PAD_SET_CUR_NOSAVE(CvPADLIST(PL_main_cv), 1);
        }
        op_free(PL_main_root);
-       PL_main_root = Nullop;
+       PL_main_root = NULL;
     }
-    PL_main_start = Nullop;
+    PL_main_start = NULL;
     SvREFCNT_dec(PL_main_cv);
     PL_main_cv = Nullcv;
     PL_dirty = TRUE;
@@ -1664,9 +1664,9 @@
 
     if (PL_main_root) {
        op_free(PL_main_root);
-       PL_main_root = Nullop;
+       PL_main_root = NULL;
     }
-    PL_main_start = Nullop;
+    PL_main_start = NULL;
     SvREFCNT_dec(PL_main_cv);
     PL_main_cv = Nullcv;
 
@@ -2576,8 +2576,7 @@
     if (create && !GvCVu(gv))
        return newSUB(start_subparse(FALSE, 0),
                      newSVOP(OP_CONST, 0, newSVpv(name,0)),
-                     Nullop,
-                     Nullop);
+                     NULL, NULL);
     if (gv)
        return GvCVu(gv);
     return Nullcv;
@@ -2679,7 +2678,7 @@
     }
 
     Zero(&myop, 1, LOGOP);
-    myop.op_next = Nullop;
+    myop.op_next = NULL;
     if (!(flags & G_NOARGS))
        myop.op_flags |= OPf_STACKED;
     myop.op_flags |= ((flags & G_VOID) ? OPf_WANT_VOID :
@@ -2875,7 +2874,7 @@
 
     if (!(flags & G_NOARGS))
        myop.op_flags = OPf_STACKED;
-    myop.op_next = Nullop;
+    myop.op_next = NULL;
     myop.op_type = OP_ENTEREVAL;
     myop.op_flags |= ((flags & G_VOID) ? OPf_WANT_VOID :
                      (flags & G_ARRAY) ? OPf_WANT_LIST :

==== //depot/maint-5.8/perl/perl.h#128 (text) ====
Index: perl/perl.h
--- perl/perl.h#127~29859~      2007-01-17 14:07:40.000000000 -0800
+++ perl/perl.h 2007-01-19 13:24:46.000000000 -0800
@@ -3484,9 +3484,8 @@
 #ifndef assert  /* <assert.h> might have been included somehow */
 #define assert(what)   PERL_DEB(                                       \
        ((what) ? ((void) 0) :                                          \
-           (Perl_croak(aTHX_ "Assertion %s failed: file \"" __FILE__   \
+           (Perl_croak_nocontext("Assertion %s failed: file \"" __FILE__ \
                        "\", line %d", STRINGIFY(what), __LINE__),      \
-           PerlProc_exit(1),                                           \
            (void) 0)))
 #endif
 

==== //depot/maint-5.8/perl/pp.c#111 (text) ====
Index: perl/pp.c
--- perl/pp.c#110~29859~        2007-01-17 14:07:40.000000000 -0800
+++ perl/pp.c   2007-01-19 13:24:46.000000000 -0800
@@ -795,7 +795,7 @@
        if (cv_const_sv((CV*)sv) && ckWARN(WARN_MISC))
            Perl_warner(aTHX_ packWARN(WARN_MISC), "Constant subroutine %s 
undefined",
                 CvANON((CV*)sv) ? "(anonymous)" : GvENAME(CvGV((CV*)sv)));
-       /* FALL THROUGH */
+       /* FALLTHROUGH */
     case SVt_PVFM:
        {
            /* let user-undef'd sub keep its identity */

==== //depot/maint-5.8/perl/pp_ctl.c#142 (text) ====
Index: perl/pp_ctl.c
--- perl/pp_ctl.c#141~29861~    2007-01-17 14:36:16.000000000 -0800
+++ perl/pp_ctl.c       2007-01-19 13:24:46.000000000 -0800
@@ -2821,11 +2821,11 @@
 
     /* try to compile it */
 
-    PL_eval_root = Nullop;
+    PL_eval_root = NULL;
     PL_error_count = 0;
     PL_curcop = &PL_compiling;
     PL_curcop->cop_arybase = 0;
-    if (saveop && saveop->op_type != OP_REQUIRE && saveop->op_flags & 
OPf_SPECIAL)
+    if (saveop && (saveop->op_type != OP_REQUIRE) && (saveop->op_flags & 
OPf_SPECIAL))
        PL_in_eval |= EVAL_KEEPERR;
     else
        sv_setpvn(ERRSV,"",0);
@@ -2838,7 +2838,7 @@
        PL_op = saveop;
        if (PL_eval_root) {
            op_free(PL_eval_root);
-           PL_eval_root = Nullop;
+           PL_eval_root = NULL;
        }
        SP = PL_stack_base + POPMARK;           /* pop original mark */
        if (!startop) {
@@ -4062,7 +4062,7 @@
 /* perhaps someone can come up with a better name for
    this?  it is not really "absolute", per se ... */
 static bool
-S_path_is_absolute(pTHX_ const char *name)
+S_path_is_absolute(const char *name)
 {
     if (PERL_FILE_IS_ABSOLUTE(name)
 #ifdef MACOS_TRADITIONAL

==== //depot/maint-5.8/perl/pp_sort.c#41 (text) ====
Index: perl/pp_sort.c
--- perl/pp_sort.c#40~29809~    2007-01-14 05:47:07.000000000 -0800
+++ perl/pp_sort.c      2007-01-19 13:24:46.000000000 -0800
@@ -1538,7 +1538,7 @@
        }
     }
     else {
-       PL_sortcop = Nullop;
+       PL_sortcop = NULL;
        stash = CopSTASH(PL_curcop);
     }
 

==== //depot/maint-5.8/perl/proto.h#158 (text+w) ====
Index: perl/proto.h
--- perl/proto.h#157~29886~     2007-01-19 12:40:06.000000000 -0800
+++ perl/proto.h        2007-01-19 13:24:46.000000000 -0800
@@ -1579,11 +1579,11 @@
                        __attribute__malloc__
                        __attribute__warn_unused_result__;
 
-STATIC HEK*    S_save_hek_flags(pTHX_ const char *str, I32 len, U32 hash, int 
flags)
+STATIC HEK*    S_save_hek_flags(const char *str, I32 len, U32 hash, int flags)
                        __attribute__malloc__
                        __attribute__warn_unused_result__;
 
-STATIC void    S_hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool 
*needs_store);
+STATIC void    S_hv_magic_check(HV *hv, bool *needs_copy, bool *needs_store);
 STATIC void    S_unshare_hek_or_pvn(pTHX_ const HEK* hek, const char* str, I32 
len, U32 hash);
 STATIC HEK*    S_share_hek_flags(pTHX_ const char* str, I32 len, U32 hash, int 
flags)
                        __attribute__warn_unused_result__;
@@ -1603,7 +1603,7 @@
 #endif
 
 #if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-STATIC bool    S_is_handle_constructor(pTHX_ const OP *o, I32 numargs)
+STATIC bool    S_is_handle_constructor(const OP *o, I32 numargs)
                        __attribute__warn_unused_result__;
 
 STATIC I32     S_is_list_assignment(pTHX_ const OP *o)
@@ -1620,7 +1620,9 @@
 
 STATIC void    S_simplify_sort(pTHX_ OP *o);
 STATIC const char*     S_gv_ename(pTHX_ GV *gv);
-STATIC bool    S_scalar_mod_type(pTHX_ const OP *o, I32 type);
+STATIC bool    S_scalar_mod_type(const OP *o, I32 type)
+                       __attribute__warn_unused_result__;
+
 STATIC OP *    S_my_kid(pTHX_ OP *o, OP *attrs, OP **imopsp);
 STATIC OP *    S_dup_attrlist(pTHX_ OP *o);
 STATIC void    S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs, bool 
for_my);
@@ -1752,7 +1754,7 @@
 STATIC PerlIO *        S_doopen_pm(pTHX_ const char *name, const char *mode)
                        __attribute__warn_unused_result__;
 
-STATIC bool    S_path_is_absolute(pTHX_ const char *name)
+STATIC bool    S_path_is_absolute(const char *name)
                        __attribute__warn_unused_result__;
 
 STATIC I32     S_run_user_filter(pTHX_ int idx, SV *buf_sv, int maxlen)
@@ -1800,7 +1802,7 @@
 STATIC regnode*        S_regbranch(pTHX_ struct RExC_state_t *state, I32 
*flagp, I32 first);
 STATIC void    S_reguni(pTHX_ const struct RExC_state_t *state, UV uv, char 
*s, STRLEN *lenp);
 STATIC regnode*        S_regclass(pTHX_ struct RExC_state_t *state);
-STATIC I32     S_regcurly(pTHX_ const char *)
+STATIC I32     S_regcurly(const char *)
                        __attribute__warn_unused_result__;
 
 STATIC regnode*        S_reg_node(pTHX_ struct RExC_state_t *state, U8 op);
@@ -1808,21 +1810,27 @@
 STATIC void    S_reginsert(pTHX_ struct RExC_state_t *state, U8 op, regnode 
*opnd);
 STATIC void    S_regoptail(pTHX_ struct RExC_state_t *state, regnode *p, 
regnode *val);
 STATIC void    S_regtail(pTHX_ struct RExC_state_t *state, regnode *p, regnode 
*val);
-STATIC char*   S_regwhite(pTHX_ char *p, const char *e);
+STATIC char*   S_regwhite(char *p, const char *e)
+                       __attribute__warn_unused_result__;
+
 STATIC char*   S_nextchar(pTHX_ struct RExC_state_t *state);
 #  ifdef DEBUGGING
 STATIC regnode*        S_dumpuntil(pTHX_ regnode *start, regnode *node, 
regnode *last, SV* sv, I32 l);
 STATIC void    S_put_byte(pTHX_ SV* sv, int c);
 #  endif
 STATIC void    S_scan_commit(pTHX_ struct RExC_state_t* state, struct 
scan_data_t *data);
-STATIC void    S_cl_anything(pTHX_ struct RExC_state_t* state, struct 
regnode_charclass_class *cl);
-STATIC int     S_cl_is_anything(pTHX_ const struct regnode_charclass_class 
*cl);
-STATIC void    S_cl_init(pTHX_ struct RExC_state_t* state, struct 
regnode_charclass_class *cl);
-STATIC void    S_cl_init_zero(pTHX_ struct RExC_state_t* state, struct 
regnode_charclass_class *cl);
-STATIC void    S_cl_and(pTHX_ struct regnode_charclass_class *cl, const struct 
regnode_charclass_class *and_with);
-STATIC void    S_cl_or(pTHX_ struct RExC_state_t* state, struct 
regnode_charclass_class *cl, const struct regnode_charclass_class *or_with);
+STATIC void    S_cl_anything(struct RExC_state_t* state, struct 
regnode_charclass_class *cl);
+STATIC int     S_cl_is_anything(const struct regnode_charclass_class *cl)
+                       __attribute__warn_unused_result__;
+
+STATIC void    S_cl_init(struct RExC_state_t* state, struct 
regnode_charclass_class *cl);
+STATIC void    S_cl_init_zero(struct RExC_state_t* state, struct 
regnode_charclass_class *cl);
+STATIC void    S_cl_and(struct regnode_charclass_class *cl, const struct 
regnode_charclass_class *and_with);
+STATIC void    S_cl_or(struct RExC_state_t* state, struct 
regnode_charclass_class *cl, const struct regnode_charclass_class *or_with);
 STATIC I32     S_study_chunk(pTHX_ struct RExC_state_t* state, regnode 
**scanp, I32 *deltap, regnode *last, struct scan_data_t *data, U32 flags);
-STATIC I32     S_add_data(pTHX_ struct RExC_state_t* state, I32 n, const char 
*s);
+STATIC I32     S_add_data(struct RExC_state_t* state, I32 n, const char *s)
+                       __attribute__warn_unused_result__;
+
 STATIC void    S_re_croak2(pTHX_ const char* pat1, const char* pat2, ...)
                        __attribute__noreturn__;
 
@@ -1852,13 +1860,13 @@
 STATIC U8*     S_reghop(pTHX_ U8 *pos, I32 off)
                        __attribute__warn_unused_result__;
 
-STATIC U8*     S_reghop3(pTHX_ U8 *pos, I32 off, U8 *lim)
+STATIC U8*     S_reghop3(U8 *pos, I32 off, U8 *lim)
                        __attribute__warn_unused_result__;
 
 STATIC U8*     S_reghopmaybe(pTHX_ U8 *pos, I32 off)
                        __attribute__warn_unused_result__;
 
-STATIC U8*     S_reghopmaybe3(pTHX_ U8 *pos, I32 off, U8 *lim)
+STATIC U8*     S_reghopmaybe3(U8 *pos, I32 off, U8 *lim)
                        __attribute__warn_unused_result__;
 
 STATIC char*   S_find_byclass(pTHX_ regexp * prog, regnode *c, char *s, const 
char *strend, I32 norun)
@@ -1904,6 +1912,14 @@
 STATIC STRLEN  S_sv_pos_b2u_midway(pTHX_ const U8 *s, const U8 *const target, 
const U8 *end, STRLEN endu);
 STATIC char *  S_stringify_regexp(pTHX_ SV *sv, MAGIC *mg, STRLEN *lp);
 STATIC char *  S_F0convert(NV nv, char *endbuf, STRLEN *len);
+STATIC SV *    S_more_sv(pTHX);
+STATIC void *  S_more_bodies(pTHX_ size_t size, svtype sv_type);
+STATIC bool    S_sv_2iuv_common(pTHX_ SV *sv);
+STATIC void    S_glob_assign_glob(pTHX_ SV *dstr, SV *sstr, const int dtype);
+STATIC void    S_glob_assign_ref(pTHX_ SV *dstr, SV *sstr);
+STATIC PTR_TBL_ENT_t * S_ptr_table_find(PTR_TBL_t *tbl, const void *sv)
+                       __attribute__warn_unused_result__;
+
 STATIC void    S_reset_amagic(pTHX_ SV *rv, const bool on);
 #endif
 
@@ -1996,7 +2012,7 @@
 #endif
 
 #if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-STATIC COP*    S_closest_cop(pTHX_ COP *cop, const OP *o);
+STATIC const COP*      S_closest_cop(pTHX_ const COP *cop, const OP *o);
 STATIC SV*     S_mess_alloc(pTHX);
 PERL_CALLCONV const char *     vdie_croak_common(pTHX_ const char *pat, 
va_list *args, STRLEN *msglen, I32* utf8);
 STATIC bool    S_vdie_common(pTHX_ const char *message, STRLEN msglen, I32 
utf8, bool warn);
@@ -2010,7 +2026,9 @@
 #endif
 
 #if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
-STATIC STRLEN  S_is_utf8_char_slow(pTHX_ const U8 *s, const STRLEN len);
+STATIC STRLEN  S_is_utf8_char_slow(const U8 *s, const STRLEN len)
+                       __attribute__warn_unused_result__;
+
 STATIC bool    S_is_utf8_common(pTHX_ const U8 *const p, SV **swash, const 
char * const swashname)
                        __attribute__warn_unused_result__;
 

==== //depot/maint-5.8/perl/regcomp.c#78 (text) ====
Index: perl/regcomp.c
--- perl/regcomp.c#77~29859~    2007-01-17 14:07:40.000000000 -0800
+++ perl/regcomp.c      2007-01-19 13:24:46.000000000 -0800
@@ -487,7 +487,7 @@
 
 /* Can match anything (initialization) */
 STATIC void
-S_cl_anything(pTHX_ RExC_state_t *pRExC_state, struct regnode_charclass_class 
*cl)
+S_cl_anything(RExC_state_t *pRExC_state, struct regnode_charclass_class *cl)
 {
     ANYOF_CLASS_ZERO(cl);
     ANYOF_BITMAP_SETALL(cl);
@@ -498,7 +498,7 @@
 
 /* Can match anything (initialization) */
 STATIC int
-S_cl_is_anything(pTHX_ const struct regnode_charclass_class *cl)
+S_cl_is_anything(const struct regnode_charclass_class *cl)
 {
     int value;
 
@@ -514,7 +514,7 @@
 
 /* Can match anything (initialization) */
 STATIC void
-S_cl_init(pTHX_ RExC_state_t *pRExC_state, struct regnode_charclass_class *cl)
+S_cl_init(RExC_state_t *pRExC_state, struct regnode_charclass_class *cl)
 {
     Zero(cl, 1, struct regnode_charclass_class);
     cl->type = ANYOF;
@@ -522,7 +522,7 @@
 }
 
 STATIC void
-S_cl_init_zero(pTHX_ RExC_state_t *pRExC_state, struct regnode_charclass_class 
*cl)
+S_cl_init_zero(RExC_state_t *pRExC_state, struct regnode_charclass_class *cl)
 {
     Zero(cl, 1, struct regnode_charclass_class);
     cl->type = ANYOF;
@@ -534,7 +534,7 @@
 /* 'And' a given class with another one.  Can create false positives */
 /* We assume that cl is not inverted */
 STATIC void
-S_cl_and(pTHX_ struct regnode_charclass_class *cl,
+S_cl_and(struct regnode_charclass_class *cl,
        const struct regnode_charclass_class *and_with)
 {
     if (!(and_with->flags & ANYOF_CLASS)
@@ -571,7 +571,7 @@
 /* 'OR' a given class with another one.  Can create false positives */
 /* We assume that cl is not inverted */
 STATIC void
-S_cl_or(pTHX_ RExC_state_t *pRExC_state, struct regnode_charclass_class *cl, 
const struct regnode_charclass_class *or_with)
+S_cl_or(RExC_state_t *pRExC_state, struct regnode_charclass_class *cl, const 
struct regnode_charclass_class *or_with)
 {
     if (or_with->flags & ANYOF_INVERT) {
        /* We do not use
@@ -1660,7 +1660,7 @@
 }
 
 STATIC I32
-S_add_data(pTHX_ RExC_state_t *pRExC_state, I32 n, const char *s)
+S_add_data(RExC_state_t *pRExC_state, I32 n, const char *s)
 {
     if (RExC_rx->data) {
        Renewc(RExC_rx->data,
@@ -3333,7 +3333,7 @@
 }
 
 STATIC char *
-S_regwhite(pTHX_ char *p, const char *e)
+S_regwhite(char *p, const char *e)
 {
     while (p < e) {
        if (isSPACE(*p))
@@ -4551,7 +4551,7 @@
  - regcurly - a little FSA that accepts {\d+,?\d*}
  */
 STATIC I32
-S_regcurly(pTHX_ register const char *s)
+S_regcurly(register const char *s)
 {
     if (*s++ != '{')
        return FALSE;

==== //depot/maint-5.8/perl/regexec.c#65 (text) ====
Index: perl/regexec.c
--- perl/regexec.c#64~29807~    2007-01-14 05:09:22.000000000 -0800
+++ perl/regexec.c      2007-01-19 13:24:46.000000000 -0800
@@ -3149,7 +3149,7 @@
                PL_regcc = cc.oldcc;
                saySAME(n);
            }
-           /* NOT REACHED */
+           /* NOTREACHED */
        case WHILEM: {
                /*
                 * This is really hard to understand, because after we match
@@ -3350,7 +3350,7 @@
                cc->lastloc = lastloc;
                CACHEsayNO;
            }
-           /* NOT REACHED */
+           /* NOTREACHED */
        case BRANCHJ:
            next = scan + ARG(scan);
            if (next == scan)
@@ -3538,6 +3538,7 @@
                }
            }
            sayNO;
+           /* NOTREACHED */
            break;
        }
        case CURLYN:
@@ -4013,11 +4014,11 @@
 
            goto reenter;
        }
-       /* NOT REACHED */
+       /* NOTREACHED */
        default:
            Perl_croak(aTHX_ "regexp unwind memory corruption");
        }
-       /* NOT REACHED */
+       /* NOTREACHED */
     }
 #ifdef DEBUGGING
     PL_regindent--;
@@ -4503,11 +4504,11 @@
 STATIC U8 *
 S_reghop(pTHX_ U8 *s, I32 off)
 {
-    return S_reghop3(aTHX_ s, off, (U8*)(off >= 0 ? PL_regeol : PL_bostr));
+    return S_reghop3(s, off, (U8*)(off >= 0 ? PL_regeol : PL_bostr));
 }
 
 STATIC U8 *
-S_reghop3(pTHX_ U8 *s, I32 off, U8* lim)
+S_reghop3(U8 *s, I32 off, U8* lim)
 {
     if (off >= 0) {
        while (off-- && s < lim) {
@@ -4533,11 +4534,11 @@
 STATIC U8 *
 S_reghopmaybe(pTHX_ U8 *s, I32 off)
 {
-    return S_reghopmaybe3(aTHX_ s, off, (U8*)(off >= 0 ? PL_regeol : 
PL_bostr));
+    return S_reghopmaybe3(s, off, (U8*)(off >= 0 ? PL_regeol : PL_bostr));
 }
 
 STATIC U8 *
-S_reghopmaybe3(pTHX_ U8* s, I32 off, U8* lim)
+S_reghopmaybe3(U8* s, I32 off, U8* lim)
 {
     if (off >= 0) {
        while (off-- && s < lim) {

==== //depot/maint-5.8/perl/sv.c#290 (text) ====
Index: perl/sv.c
--- perl/sv.c#289~29886~        2007-01-19 12:40:06.000000000 -0800
+++ perl/sv.c   2007-01-19 13:24:46.000000000 -0800
@@ -3256,7 +3256,7 @@
            S_glob_assign_glob(aTHX_ dstr, sstr, dtype);
            return;
        }
-       /* FALL THROUGH */
+       /*FALLTHROUGH*/
 
     default:
        if (SvGMAGICAL(sstr) && (flags & SV_GMAGIC)) {
@@ -5456,7 +5456,7 @@
      */
 
   raw_compare:
-    /* FALL THROUGH */
+    /*FALLTHROUGH*/
 
 #endif /* USE_LOCALE_COLLATE */
 
@@ -6744,8 +6744,7 @@
             * declaration! */
            newSUB(start_subparse(FALSE, 0),
                   newSVOP(OP_CONST, 0, tmpsv),
-                  Nullop,
-                  Nullop);
+                  NULL, NULL);
            LEAVE;
            if (!GvCVu(gv))
                Perl_croak(aTHX_ "Unable to create sub named \"%"SVf"\"",
@@ -7621,7 +7620,7 @@
     case '7': case '8': case '9':
        var = *(*pattern)++ - '0';
        while (isDIGIT(**pattern)) {
-           I32 tmp = var * 10 + (*(*pattern)++ - '0');
+           const I32 tmp = var * 10 + (*(*pattern)++ - '0');
            if (tmp < var)
                Perl_croak(aTHX_ "Integer overflow in format string for %s", 
(PL_op ? OP_NAME(PL_op) : "sv_vcatpvfn"));
            var = tmp;
@@ -8017,7 +8016,7 @@
 #endif
 #if defined(HAS_QUAD) || defined(HAS_LONG_DOUBLE)
        case 'L':                       /* Ld */
-           /* FALL THROUGH */
+           /*FALLTHROUGH*/
 #ifdef HAS_QUAD
        case 'q':                       /* qd */
 #endif
@@ -8033,9 +8032,9 @@
                break;
             }
 #endif
-           /* FALL THROUGH */
+           /*FALLTHROUGH*/
        case 'h':
-           /* FALL THROUGH */
+           /*FALLTHROUGH*/
        case 'V':
            intsize = *q++;
            break;
@@ -8170,7 +8169,7 @@
 #else
            intsize = 'l';
 #endif
-           /* FALL THROUGH */
+           /*FALLTHROUGH*/
        case 'd':
        case 'i':
 #ifdef CHECK_FORMAT
@@ -8236,7 +8235,7 @@
 #else
            intsize = 'l';
 #endif
-           /* FALL THROUGH */
+           /*FALLTHROUGH*/
        case 'u':
            base = 10;
            goto uns_integer;
@@ -8251,7 +8250,7 @@
 #else
            intsize = 'l';
 #endif
-           /* FALL THROUGH */
+           /*FALLTHROUGH*/
        case 'o':
            base = 8;
            goto uns_integer;
@@ -8374,7 +8373,7 @@
 
        case 'F':
            c = 'f';            /* maybe %F isn't supported here */
-           /* FALL THROUGH */
+           /*FALLTHROUGH*/
        case 'e': case 'E':
        case 'f':
        case 'g': case 'G':
@@ -8395,7 +8394,7 @@
                break;
 /* [perl #20339] - we should accept and ignore %lf rather than die */
            case 'l':
-               /* FALL THROUGH */
+               /*FALLTHROUGH*/
            default:
 #if defined(USE_LONG_DOUBLE)
                intsize = args ? 0 : 'q';
@@ -8405,7 +8404,7 @@
 #if defined(HAS_LONG_DOUBLE)
                break;
 #else
-               /* FALL THROUGH */
+               /*FALLTHROUGH*/
 #endif
            case 'h':
                goto unknown;
@@ -9033,7 +9032,7 @@
 /* map an existing pointer using a table */
 
 STATIC PTR_TBL_ENT_t *
-S_ptr_table_find(pTHX_ PTR_TBL_t *tbl, const void *sv) {
+S_ptr_table_find(PTR_TBL_t *tbl, const void *sv) {
     PTR_TBL_ENT_t *tblent;
     const UV hash = PTR_TABLE_HASH(sv);
     assert(tbl);
@@ -9048,8 +9047,7 @@
 void *
 Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, void *sv)
 {
-    PTR_TBL_ENT_t const *const tblent
-       = S_ptr_table_find(aTHX_ tbl, (const void *)sv);
+    PTR_TBL_ENT_t const *const tblent = ptr_table_find(tbl, (const void *)sv);
     return tblent ? tblent->newval : (void *) 0;
 }
 
@@ -9058,7 +9056,7 @@
 void
 Perl_ptr_table_store(pTHX_ PTR_TBL_t *tbl, void *oldsv, void *newsv)
 {
-    PTR_TBL_ENT_t *tblent = S_ptr_table_find(aTHX_ tbl, (const void *)oldsv);
+    PTR_TBL_ENT_t *tblent = S_ptr_table_find(tbl, (const void *)oldsv);
 
     if (tblent) {
        tblent->newval = newsv;
@@ -9837,12 +9835,12 @@
                    OpREFCNT_inc(o);
                    break;
                default:
-                   TOPPTR(nss,ix) = Nullop;
+                   TOPPTR(nss,ix) = NULL;
                    break;
                }
            }
            else
-               TOPPTR(nss,ix) = Nullop;
+               TOPPTR(nss,ix) = NULL;
            break;
        case SAVEt_FREEPV:
            c = (char*)POPPTR(ss,ix);
@@ -10120,17 +10118,17 @@
 
     IV i;
     CLONE_PARAMS clone_params;
-    CLONE_PARAMS* param = &clone_params;
+    CLONE_PARAMS* const param = &clone_params;
 
-    PerlInterpreter *my_perl = (PerlInterpreter*)(*ipM->pMalloc)(ipM, 
sizeof(PerlInterpreter));
+    PerlInterpreter * const my_perl = (PerlInterpreter*)(*ipM->pMalloc)(ipM, 
sizeof(PerlInterpreter));
     /* for each stash, determine whether its objects should be cloned */
     S_visit(proto_perl, do_mark_cloneable_stash, SVt_PVHV, SVTYPEMASK);
     PERL_SET_THX(my_perl);
 
 #  ifdef DEBUGGING
     Poison(my_perl, 1, PerlInterpreter);
-    PL_op = Nullop;
-    PL_curcop = (COP *)Nullop;
+    PL_op = NULL;
+    PL_curcop = NULL;
     PL_markstack = 0;
     PL_scopestack = 0;
     PL_savestack = 0;
@@ -10157,15 +10155,15 @@
     IV i;
     CLONE_PARAMS clone_params;
     CLONE_PARAMS* param = &clone_params;
-    PerlInterpreter *my_perl = 
(PerlInterpreter*)PerlMem_malloc(sizeof(PerlInterpreter));
+    PerlInterpreter * const my_perl = 
(PerlInterpreter*)PerlMem_malloc(sizeof(PerlInterpreter));
     /* for each stash, determine whether its objects should be cloned */
     S_visit(proto_perl, do_mark_cloneable_stash, SVt_PVHV, SVTYPEMASK);
     PERL_SET_THX(my_perl);
 
 #    ifdef DEBUGGING
     Poison(my_perl, 1, PerlInterpreter);
-    PL_op = Nullop;
-    PL_curcop = (COP *)Nullop;
+    PL_op = NULL;
+    PL_curcop = NULL;
     PL_markstack = 0;
     PL_scopestack = 0;
     PL_savestack = 0;
@@ -10815,7 +10813,7 @@
     PL_errors          = sv_dup_inc(proto_perl->Terrors, param);
     PL_hv_fetch_ent_mh = NULL;
     PL_modcount                = proto_perl->Tmodcount;
-    PL_lastgotoprobe   = Nullop;
+    PL_lastgotoprobe   = NULL;
     PL_dumpindent      = proto_perl->Tdumpindent;
 
     PL_sortcop         = (OP*)any_dup(proto_perl->Tsortcop, proto_perl);

==== //depot/maint-5.8/perl/toke.c#133 (text) ====
Index: perl/toke.c
--- perl/toke.c#132~29858~      2007-01-17 13:17:52.000000000 -0800
+++ perl/toke.c 2007-01-19 13:24:46.000000000 -0800
@@ -1056,7 +1056,7 @@
 STATIC char *
 S_force_version(pTHX_ char *s, int guessing)
 {
-    OP *version = Nullop;
+    OP *version = NULL;
     char *d;
 
     s = skipspace(s);
@@ -1177,7 +1177,7 @@
 
     if (op_type == OP_NULL) {
        yylval.opval = PL_lex_op;
-       PL_lex_op = Nullop;
+       PL_lex_op = NULL;
        return THING;
     }
     if (op_type == OP_CONST || op_type == OP_READLINE) {
@@ -1206,7 +1206,7 @@
     PL_expect = XTERM;
     if (PL_lex_op) {
        yylval.opval = PL_lex_op;
-       PL_lex_op = Nullop;
+       PL_lex_op = NULL;
        return PMFUNC;
     }
     else
@@ -1269,7 +1269,7 @@
     if (PL_lex_inwhat == OP_MATCH || PL_lex_inwhat == OP_QR || PL_lex_inwhat 
== OP_SUBST)
        PL_lex_inpat = PL_sublex_info.sub_op;
     else
-       PL_lex_inpat = Nullop;
+       PL_lex_inpat = NULL;
 
     return '(';
 }
@@ -1858,15 +1858,15 @@
           and then encode the next character */
        if ((has_utf8 || this_utf8) && !NATIVE_IS_INVARIANT((U8)(*s))) {
            STRLEN len  = 1;
-           const UV uv       = (this_utf8) ? utf8n_to_uvchr((U8*)s, send - s, 
&len, 0) : (UV) ((U8) *s);
-           const STRLEN need = UNISKIP(NATIVE_TO_UNI(uv));
+           const UV nextuv   = (this_utf8) ? utf8n_to_uvchr((U8*)s, send - s, 
&len, 0) : (UV) ((U8) *s);
+           const STRLEN need = UNISKIP(NATIVE_TO_UNI(nextuv));
            s += len;
            if (need > len) {
                /* encoded value larger than old, need extra space (NOTE: 
SvCUR() not set here) */
                const STRLEN off = d - SvPVX_const(sv);
                d = SvGROW(sv, SvLEN(sv) + (need-len)) + off;
            }
-           d = (char*)uvchr_to_utf8((U8*)d, uv);
+           d = (char*)uvchr_to_utf8((U8*)d, nextuv);
            has_utf8 = TRUE;
        }
        else {
@@ -2355,7 +2355,7 @@
     if (isDIGIT(*s) || (*s == 'v' && isDIGIT(s[1]))) {
        s = force_version(s, TRUE);
        if (*s == ';' || (s = skipspace(s), *s == ';')) {
-           PL_nextval[PL_nexttoke].opval = Nullop;
+           PL_nextval[PL_nexttoke].opval = NULL;
            force_next(WORD);
        }
        else if (*s == 'v') {
@@ -3230,7 +3230,7 @@
            PL_expect = XTERMBLOCK;
         grabattrs:
            s = skipspace(s);
-           attrs = Nullop;
+           attrs = NULL;
            while (isIDFIRST_lazy_if(s,UTF)) {
                I32 tmp;
                d = scan_word(s, PL_tokenbuf, sizeof PL_tokenbuf, FALSE, &len);
@@ -3784,9 +3784,9 @@
                            char tmpbuf[sizeof PL_tokenbuf];
                            for (t++; isSPACE(*t); t++) ;
                            if (isIDFIRST_lazy_if(t,UTF)) {
-                               STRLEN len;
+                               STRLEN dummylen;
                                t = scan_word(t, tmpbuf, sizeof tmpbuf, TRUE,
-                                             &len);
+                                             &dummylen);
                                for (; isSPACE(*t); t++) ;
                                if (*t == ';' && get_cv(tmpbuf, FALSE))
                                    Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
@@ -4374,9 +4374,9 @@
                    PL_last_lop_op = OP_ENTERSUB;
                    /* Is there a prototype? */
                    if (SvPOK(cv)) {
-                       STRLEN len;
-                       const char *proto = SvPV_const((SV*)cv, len);
-                       if (!len)
+                       STRLEN protolen;
+                       const char *proto = SvPV_const((SV*)cv, protolen);
+                       if (!protolen)
                            TERM(FUNC0SUB);
                        if (*proto == '$' && proto[1] == '\0')
                            OPERATOR(UNIOPSUB);
@@ -4988,10 +4988,10 @@
                    /* [perl #16184] */
                    && !(t[0] == '=' && t[1] == '>')
                ) {
-                   int len = (int)(d-s);
+                   int parms_len = (int)(d-s);
                    Perl_warner(aTHX_ packWARN(WARN_PRECEDENCE),
                           "Precedence problem: open %.*s should be open(%.*s)",
-                           len, s, len, s);
+                           parms_len, s, parms_len, s);
                }
            }
            LOP(OP_OPEN,XTERM);
@@ -5056,7 +5056,7 @@
            PL_expect = XOPERATOR;
            force_next(')');
            if (SvCUR(PL_lex_stuff)) {
-               OP *words = Nullop;
+               OP *words = NULL;
                int warned = 0;
                d = SvPV_force(PL_lex_stuff, len);
                while (len) {
@@ -10156,13 +10156,13 @@
 
        /* update debugger info */
        if (PERLDB_LINE && PL_curstash != PL_debstash) {
-           SV * const sv = newSV(0);
+           SV * const line_sv = newSV(0);
 
-           sv_upgrade(sv, SVt_PVMG);
-           sv_setsv(sv,PL_linestr);
-            (void)SvIOK_on(sv);
-            SvIV_set(sv, 0);
-           av_store(CopFILEAVx(PL_curcop), (I32)CopLINE(PL_curcop), sv);
+           sv_upgrade(line_sv, SVt_PVMG);
+           sv_setsv(line_sv,PL_linestr);
+           (void)SvIOK_on(line_sv);
+           SvIV_set(line_sv, 0);
+           av_store(CopFILEAVx(PL_curcop), (I32)CopLINE(PL_curcop), line_sv);
        }
 
        /* having changed the buffer, we must update PL_bufend */
@@ -10600,7 +10600,7 @@
     if (sv)
        lvalp->opval = newSVOP(OP_CONST, 0, sv);
     else
-       lvalp->opval = Nullop;
+       lvalp->opval = NULL;
 
     return (char *)s;
 }
@@ -10705,6 +10705,10 @@
 #ifdef CSH
     if (!PL_cshlen)
        PL_cshlen = strlen(PL_cshname);
+#else
+#if defined(USE_ITHREADS)
+    PERL_UNUSED_ARG(my_perl);
+#endif
 #endif
 }
 

==== //depot/maint-5.8/perl/utf8.c#63 (text) ====
Index: perl/utf8.c
--- perl/utf8.c#62~29858~       2007-01-17 13:17:52.000000000 -0800
+++ perl/utf8.c 2007-01-19 13:24:46.000000000 -0800
@@ -186,7 +186,7 @@
 
 =cut */
 STATIC STRLEN
-S_is_utf8_char_slow(pTHX_ const U8 *s, const STRLEN len)
+S_is_utf8_char_slow(const U8 *s, const STRLEN len)
 {
     U8 u = *s;
     STRLEN slen;

==== //depot/maint-5.8/perl/util.c#121 (text) ====
Index: perl/util.c
--- perl/util.c#120~29858~      2007-01-17 13:17:52.000000000 -0800
+++ perl/util.c 2007-01-19 13:24:46.000000000 -0800
@@ -1052,8 +1052,8 @@
     return retval;
 }
 
-STATIC COP*
-S_closest_cop(pTHX_ COP *cop, const OP *o)
+STATIC const COP*
+S_closest_cop(pTHX_ const COP *cop, const OP *o)
 {
     /* Look for PL_op starting from o.  cop is the last COP we've seen. */
 
@@ -1061,15 +1061,15 @@
        return cop;
 
     if (o->op_flags & OPf_KIDS) {
-       OP *kid;
+       const OP *kid;
        for (kid = cUNOPo->op_first; kid; kid = kid->op_sibling) {
-           COP *new_cop;
+           const COP *new_cop;
 
            /* If the OP_NEXTSTATE has been optimised away we can still use it
             * the get the file and line number. */
 
            if (kid->op_type == OP_NULL && kid->op_targ == OP_NEXTSTATE)
-               cop = (COP *)kid;
+               cop = (const COP *)kid;
 
            /* Keep searching, and return when we've found something. */
 
@@ -1081,18 +1081,16 @@
 
     /* Nothing found. */
 
-    return Null(COP *);
+    return NULL;
 }
 
 SV *
 Perl_vmess(pTHX_ const char *pat, va_list *args)
 {
     SV * const sv = mess_alloc();
-    static const char dgd[] = " during global destruction.\n";
 
-    sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*));
+    sv_vsetpvfn(sv, pat, strlen(pat), args, NULL, 0, NULL);
     if (!SvCUR(sv) || *(SvEND(sv) - 1) != '\n') {
-
        /*
         * Try and find the file and line for PL_op.  This will usually be
         * PL_curcop, but it might be a cop that has been optimised away.  We
@@ -1101,7 +1099,8 @@
         */
 
        const COP *cop = closest_cop(PL_curcop, PL_curcop->op_sibling);
-       if (!cop) cop = PL_curcop;
+       if (!cop)
+           cop = PL_curcop;
 
        if (CopLINE(cop))
            Perl_sv_catpvf(aTHX_ sv, " at %s line %"IVdf,
@@ -1110,8 +1109,7 @@
            const bool line_mode = (RsSIMPLE(PL_rs) &&
                              SvCUR(PL_rs) == 1 && *SvPVX_const(PL_rs) == '\n');
            Perl_sv_catpvf(aTHX_ sv, ", <%s> %s %"IVdf,
-                          PL_last_in_gv == PL_argvgv ?
-                          "" : GvNAME(PL_last_in_gv),
+                          PL_last_in_gv == PL_argvgv ? "" : 
GvNAME(PL_last_in_gv),
                           line_mode ? "line" : "chunk",
                           (IV)IoLINES(GvIOp(PL_last_in_gv)));
        }
@@ -1119,7 +1117,9 @@
        if (thr->tid)
            Perl_sv_catpvf(aTHX_ sv, " thread %ld", thr->tid);
 #endif
-       sv_catpv(sv, PL_dirty ? dgd : ".\n");
+       if (PL_dirty)
+           sv_catpvs(sv, " during global destruction");
+       sv_catpvs(sv, ".\n");
     }
     return sv;
 }
End of Patch.

Reply via email to