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.