summaryrefslogtreecommitdiff
path: root/cpan/Devel-PPPort
diff options
context:
space:
mode:
authorMatthew Horsfall <wolfsage@gmail.com>2016-06-21 08:21:32 -0400
committerMatthew Horsfall <wolfsage@gmail.com>2016-06-21 09:34:06 -0400
commit94e22bd6136e123eae522a02d51cbba06bc7c203 (patch)
tree42d158d9b7f66c8cb75e9eed853623cc86a8b2ef /cpan/Devel-PPPort
parentbf49eae4014ca7ff7b44362d99251f5b9f30bec8 (diff)
downloadperl-94e22bd6136e123eae522a02d51cbba06bc7c203.tar.gz
Update Devel-PPPort to CPAN version 3.35
[DELTA] 3.35 - 2016-06-17 * Fix compilation in bleadperl by removing a bad test. 3.34 - 2016-06-04 * Fix compilation on Windows with certain compilers. (__attribute__ not recognized. (#GH 36))
Diffstat (limited to 'cpan/Devel-PPPort')
-rw-r--r--cpan/Devel-PPPort/PPPort_pm.PL2
-rw-r--r--cpan/Devel-PPPort/parts/apicheck.pl6
-rw-r--r--cpan/Devel-PPPort/parts/apidoc.fnc25
-rw-r--r--cpan/Devel-PPPort/parts/base/50040005
-rw-r--r--cpan/Devel-PPPort/parts/base/50040501
-rw-r--r--cpan/Devel-PPPort/parts/base/50060003
-rw-r--r--cpan/Devel-PPPort/parts/base/50070034
-rw-r--r--cpan/Devel-PPPort/parts/base/50080011
-rw-r--r--cpan/Devel-PPPort/parts/base/50090031
-rw-r--r--cpan/Devel-PPPort/parts/base/50090041
-rw-r--r--cpan/Devel-PPPort/parts/base/50130001
-rw-r--r--cpan/Devel-PPPort/parts/base/50130021
-rw-r--r--cpan/Devel-PPPort/parts/base/50150041
-rw-r--r--cpan/Devel-PPPort/parts/base/50200021
-rw-r--r--cpan/Devel-PPPort/parts/base/50200031
-rw-r--r--cpan/Devel-PPPort/parts/base/50210011
-rw-r--r--cpan/Devel-PPPort/parts/base/50210021
-rw-r--r--cpan/Devel-PPPort/parts/base/50210071
-rw-r--r--cpan/Devel-PPPort/parts/base/502100864
-rw-r--r--cpan/Devel-PPPort/parts/base/50210091
-rw-r--r--cpan/Devel-PPPort/parts/base/50210102
-rw-r--r--cpan/Devel-PPPort/parts/base/50210114
-rw-r--r--cpan/Devel-PPPort/parts/base/50220002
-rw-r--r--cpan/Devel-PPPort/parts/base/50220011
-rw-r--r--cpan/Devel-PPPort/parts/base/50230001
-rw-r--r--cpan/Devel-PPPort/parts/base/50230011
-rw-r--r--cpan/Devel-PPPort/parts/base/50230021
-rw-r--r--cpan/Devel-PPPort/parts/base/50230031
-rw-r--r--cpan/Devel-PPPort/parts/base/50230041
-rw-r--r--cpan/Devel-PPPort/parts/base/50230051
-rw-r--r--cpan/Devel-PPPort/parts/base/50230061
-rw-r--r--cpan/Devel-PPPort/parts/base/50230071
-rw-r--r--cpan/Devel-PPPort/parts/base/502300822
-rw-r--r--cpan/Devel-PPPort/parts/base/50230095
-rw-r--r--cpan/Devel-PPPort/parts/base/502400068
-rw-r--r--cpan/Devel-PPPort/parts/embed.fnc292
-rw-r--r--cpan/Devel-PPPort/parts/inc/gv50
-rw-r--r--cpan/Devel-PPPort/parts/inc/magic4
-rw-r--r--cpan/Devel-PPPort/parts/inc/misc176
-rw-r--r--cpan/Devel-PPPort/parts/inc/variables9
-rw-r--r--cpan/Devel-PPPort/parts/ppptools.pl2
-rw-r--r--cpan/Devel-PPPort/parts/todo/50040001
-rw-r--r--cpan/Devel-PPPort/parts/todo/50040501
-rw-r--r--cpan/Devel-PPPort/parts/todo/50060003
-rw-r--r--cpan/Devel-PPPort/parts/todo/50070034
-rw-r--r--cpan/Devel-PPPort/parts/todo/50090052
-rw-r--r--cpan/Devel-PPPort/parts/todo/50150042
-rw-r--r--cpan/Devel-PPPort/parts/todo/50200021
-rw-r--r--cpan/Devel-PPPort/parts/todo/50200031
-rw-r--r--cpan/Devel-PPPort/parts/todo/50210021
-rw-r--r--cpan/Devel-PPPort/parts/todo/50210073
-rw-r--r--cpan/Devel-PPPort/parts/todo/502100841
-rw-r--r--cpan/Devel-PPPort/parts/todo/50210091
-rw-r--r--cpan/Devel-PPPort/parts/todo/50210102
-rw-r--r--cpan/Devel-PPPort/parts/todo/50210111
-rw-r--r--cpan/Devel-PPPort/parts/todo/50220002
-rw-r--r--cpan/Devel-PPPort/parts/todo/50220011
-rw-r--r--cpan/Devel-PPPort/parts/todo/50230001
-rw-r--r--cpan/Devel-PPPort/parts/todo/50230011
-rw-r--r--cpan/Devel-PPPort/parts/todo/50230021
-rw-r--r--cpan/Devel-PPPort/parts/todo/50230031
-rw-r--r--cpan/Devel-PPPort/parts/todo/50230041
-rw-r--r--cpan/Devel-PPPort/parts/todo/50230051
-rw-r--r--cpan/Devel-PPPort/parts/todo/50230061
-rw-r--r--cpan/Devel-PPPort/parts/todo/50230071
-rw-r--r--cpan/Devel-PPPort/parts/todo/502300822
-rw-r--r--cpan/Devel-PPPort/parts/todo/50230095
-rw-r--r--cpan/Devel-PPPort/parts/todo/502400045
-rw-r--r--cpan/Devel-PPPort/soak2
-rw-r--r--cpan/Devel-PPPort/t/gv.t7
-rw-r--r--cpan/Devel-PPPort/t/misc.t24
71 files changed, 706 insertions, 241 deletions
diff --git a/cpan/Devel-PPPort/PPPort_pm.PL b/cpan/Devel-PPPort/PPPort_pm.PL
index 0bee17ab54..ad75b13e80 100644
--- a/cpan/Devel-PPPort/PPPort_pm.PL
+++ b/cpan/Devel-PPPort/PPPort_pm.PL
@@ -539,7 +539,7 @@ package Devel::PPPort;
use strict;
use vars qw($VERSION $data);
-$VERSION = '3.32';
+$VERSION = '3.35';
sub _init_data
{
diff --git a/cpan/Devel-PPPort/parts/apicheck.pl b/cpan/Devel-PPPort/parts/apicheck.pl
index cb59f4ba0f..ac119a6a7b 100644
--- a/cpan/Devel-PPPort/parts/apicheck.pl
+++ b/cpan/Devel-PPPort/parts/apicheck.pl
@@ -144,15 +144,17 @@ print OUT <<HEAD;
#define NEED_grok_number
#define NEED_grok_numeric_radix
#define NEED_grok_oct
+#define NEED_gv_fetchpvn_flags
#define NEED_load_module
+#define NEED_mg_findext
#define NEED_my_snprintf
#define NEED_my_sprintf
-#define NEED_mg_findext
#define NEED_my_strlcat
#define NEED_my_strlcpy
#define NEED_newCONSTSUB
#define NEED_newRV_noinc
#define NEED_newSV_type
+#define NEED_newSVpvn_flags
#define NEED_newSVpvn_share
#define NEED_pv_display
#define NEED_pv_escape
@@ -165,10 +167,10 @@ print OUT <<HEAD;
#define NEED_sv_setpvf_mg
#define NEED_sv_setpvf_mg_nocontext
#define NEED_sv_unmagicext
+#define NEED_SvRX
#define NEED_vload_module
#define NEED_vnewSVpvf
#define NEED_warner
-#define NEED_newSVpvn_flags
#include "ppport.h"
diff --git a/cpan/Devel-PPPort/parts/apidoc.fnc b/cpan/Devel-PPPort/parts/apidoc.fnc
index 058c363e49..fe153541b2 100644
--- a/cpan/Devel-PPPort/parts/apidoc.fnc
+++ b/cpan/Devel-PPPort/parts/apidoc.fnc
@@ -78,13 +78,16 @@ Amn|SV|PL_sv_undef
Amn|SV|PL_sv_yes
Amn|U32|GIMME
Amn|U32|GIMME_V
+Amn|UV|POPu
Amn|char*|CLASS
Amn|char*|POPp
Amn|char*|POPpbytex
Amn|char*|POPpx
Amn|long|POPl
+Amn|long|POPul
Amn|peep_t|PL_peepp
Amn|peep_t|PL_rpeepp
+Amn|void|DECLARATION_FOR_LC_NUMERIC_MANIPULATION
Ams||ENTER
Ams||FREETMPS
Ams||LEAVE
@@ -175,6 +178,7 @@ Am|NV|SvNV_nomg|SV* sv
Am|NV|SvNVx|SV* sv
Am|NV|SvNV|SV* sv
Am|OP*|LINKLIST|OP *o
+Am|OP*|OpSIBLING|OP *o
Am|PADOFFSET|pad_add_name_pvs|const char *name|U32 flags|HV *typestash|HV *ourstash
Am|PADOFFSET|pad_findmy_pvs|const char *name|U32 flags
Am|REGEXP *|SvRX|SV *sv
@@ -183,6 +187,8 @@ Am|STRLEN|HvENAMELEN|HV *stash
Am|STRLEN|HvNAMELEN|HV *stash
Am|STRLEN|SvCUR|SV* sv
Am|STRLEN|SvLEN|SV* sv
+Am|STRLEN|UTF8SKIP|char* s
+Am|STRLEN|UVCHR_SKIP|UV cp
Am|STRLEN|isUTF8_CHAR|const U8 *s|const U8 *e
Am|SV *|boolSV|bool b
Am|SV *|cop_hints_fetch_pvn|const COP *cop|const char *keypv|STRLEN keylen|U32 hash|U32 flags
@@ -235,19 +241,18 @@ Am|UV|SvUVX|SV* sv
Am|UV|SvUV_nomg|SV* sv
Am|UV|SvUVx|SV* sv
Am|UV|SvUV|SV* sv
-Am|UV|toFOLD_uni|UV cp|U8* s|STRLEN* lenp
Am|UV|toFOLD_utf8|U8* p|U8* s|STRLEN* lenp
-Am|UV|toLOWER_uni|UV cp|U8* s|STRLEN* lenp
+Am|UV|toFOLD_uvchr|UV cp|U8* s|STRLEN* lenp
Am|UV|toLOWER_utf8|U8* p|U8* s|STRLEN* lenp
-Am|UV|toTITLE_uni|UV cp|U8* s|STRLEN* lenp
+Am|UV|toLOWER_uvchr|UV cp|U8* s|STRLEN* lenp
Am|UV|toTITLE_utf8|U8* p|U8* s|STRLEN* lenp
-Am|UV|toUPPER_uni|UV cp|U8* s|STRLEN* lenp
+Am|UV|toTITLE_uvchr|UV cp|U8* s|STRLEN* lenp
Am|UV|toUPPER_utf8|U8* p|U8* s|STRLEN* lenp
+Am|UV|toUPPER_uvchr|UV cp|U8* s|STRLEN* lenp
+Am|bool|DO_UTF8|SV* sv
Am|bool|OP_TYPE_IS_OR_WAS|OP *o|Optype type
Am|bool|OP_TYPE_IS|OP *o|Optype type
Am|bool|OpHAS_SIBLING|OP *o
-Am|bool|OpSIBLING_set|OP *o|OP *sib
-Am|bool|OpSIBLING|OP *o
Am|bool|SvIOK_UV|SV* sv
Am|bool|SvIOK_notUV|SV* sv
Am|bool|SvIsCOW_shared_hash|SV* sv
@@ -275,6 +280,8 @@ Am|bool|isSPACE|char ch
Am|bool|isUPPER|char ch
Am|bool|isWORDCHAR|char ch
Am|bool|isXDIGIT|char ch
+Am|bool|memEQ|char* s1|char* s2|STRLEN len
+Am|bool|memNE|char* s1|char* s2|STRLEN len
Am|bool|strEQ|char* s1|char* s2
Am|bool|strGE|char* s1|char* s2
Am|bool|strGT|char* s1|char* s2
@@ -322,6 +329,9 @@ Am|void|Move|void* src|void* dest|int nitems|type
Am|void|Newxc|void* ptr|int nitems|type|cast
Am|void|Newxz|void* ptr|int nitems|type
Am|void|Newx|void* ptr|int nitems|type
+Am|void|OpLASTSIB_set|OP *o|OP *parent
+Am|void|OpMAYBESIB_set|OP *o|OP *sib|OP *parent
+Am|void|OpMORESIB_set|OP *o|OP *sib
Am|void|PERL_SYS_INIT3|int *argc|char*** argv|char*** env
Am|void|PERL_SYS_INIT|int *argc|char*** argv
Am|void|PERL_SYS_TERM|
@@ -336,8 +346,11 @@ Am|void|PoisonFree|void* dest|int nitems|type
Am|void|PoisonNew|void* dest|int nitems|type
Am|void|PoisonWith|void* dest|int nitems|type|U8 byte
Am|void|Poison|void* dest|int nitems|type
+Am|void|RESTORE_LC_NUMERIC
Am|void|Renewc|void* ptr|int nitems|type|cast
Am|void|Renew|void* ptr|int nitems|type
+Am|void|STORE_LC_NUMERIC_FORCE_TO_UNDERLYING
+Am|void|STORE_LC_NUMERIC_SET_TO_NEEDED
Am|void|Safefree|void* ptr
Am|void|StructCopy|type *src|type *dest|type
Am|void|SvCUR_set|SV* sv|STRLEN len
diff --git a/cpan/Devel-PPPort/parts/base/5004000 b/cpan/Devel-PPPort/parts/base/5004000
index ae821b9d10..38b77a1530 100644
--- a/cpan/Devel-PPPort/parts/base/5004000
+++ b/cpan/Devel-PPPort/parts/base/5004000
@@ -3,6 +3,7 @@ GIMME_V # E
G_VOID # E
HePV # A
HeSVKEY_set # U
+POPu # E
PUSHu # U
SvSetMagicSV # U
SvSetMagicSV_nosteal # U
@@ -27,6 +28,8 @@ hv_free_ent # E
ibcmp_locale # U
intro_my # E
isPRINT # U
+memEQ # U
+memNE # U
my_failure_exit # E
newRV_inc # U
newRV_noinc # E
@@ -47,5 +50,3 @@ sv_vcatpvfn # E
sv_vsetpvfn # E
toLOWER_LC # U
SvUVXx # added by devel/scanprov
-memEQ # added by devel/scanprov
-memNE # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5004050 b/cpan/Devel-PPPort/parts/base/5004050
index 82fdcf0fd5..daf95d5f00 100644
--- a/cpan/Devel-PPPort/parts/base/5004050
+++ b/cpan/Devel-PPPort/parts/base/5004050
@@ -5,6 +5,7 @@ PL_sv_undef # E
PL_sv_yes # E
SvGETMAGIC # U
do_binmode # E
+my_bcopy # U
newCONSTSUB # E
newSVpvn # E
save_aelem # U
diff --git a/cpan/Devel-PPPort/parts/base/5006000 b/cpan/Devel-PPPort/parts/base/5006000
index 67482967bf..6cf8275d7e 100644
--- a/cpan/Devel-PPPort/parts/base/5006000
+++ b/cpan/Devel-PPPort/parts/base/5006000
@@ -1,6 +1,8 @@
5.006000
+DO_UTF8 # U
PERL_SYS_INIT3 # U
POPn # E
+POPul # E
PUSHn # E
SvIOK_UV # U
SvIOK_notUV # U
@@ -23,6 +25,7 @@ SvPVutf8x_force # U
SvUTF8 # U
SvUTF8_off # U
SvUTF8_on # U
+UTF8SKIP # U
XPUSHn # E
XSRETURN_NV # E
XST_mNV # E
diff --git a/cpan/Devel-PPPort/parts/base/5007003 b/cpan/Devel-PPPort/parts/base/5007003
index 9347217b2c..127a118dae 100644
--- a/cpan/Devel-PPPort/parts/base/5007003
+++ b/cpan/Devel-PPPort/parts/base/5007003
@@ -53,10 +53,6 @@ sv_nosharing # U
sv_pvn_nomg # U
sv_recode_to_utf8 # U
sv_uni_display # U
-toFOLD_uni # U
-toLOWER_uni # A
-toTITLE_uni # A
-toUPPER_uni # A
to_uni_fold # U
to_uni_lower # E (Perl_to_uni_lower)
to_uni_title # E (Perl_to_uni_title)
diff --git a/cpan/Devel-PPPort/parts/base/5008001 b/cpan/Devel-PPPort/parts/base/5008001
index 48a800aaa8..93df2b486e 100644
--- a/cpan/Devel-PPPort/parts/base/5008001
+++ b/cpan/Devel-PPPort/parts/base/5008001
@@ -17,6 +17,7 @@ sv_cat_decode # U
sv_setpviv # U
sv_setpviv_mg # U
unpackstring # U
+C_ARRAY_LENGTH # added by devel/scanprov
IN_PERL_COMPILETIME # added by devel/scanprov
PERL_ABS # added by devel/scanprov
PERL_GCC_BRACE_GROUPS_FORBIDDEN # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5009003 b/cpan/Devel-PPPort/parts/base/5009003
index e8f1065315..8b69a99fdd 100644
--- a/cpan/Devel-PPPort/parts/base/5009003
+++ b/cpan/Devel-PPPort/parts/base/5009003
@@ -36,7 +36,6 @@ savepvs # U
sortsv_flags # U
sv_catpvs # U
vverify # U
-GvSVn # added by devel/scanprov
HvNAMELEN_get # added by devel/scanprov
HvNAME_get # added by devel/scanprov
PERLIO_FUNCS_CAST # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5009004 b/cpan/Devel-PPPort/parts/base/5009004
index fa236f0366..5a2f6b8ba7 100644
--- a/cpan/Devel-PPPort/parts/base/5009004
+++ b/cpan/Devel-PPPort/parts/base/5009004
@@ -40,4 +40,3 @@ PERL_USE_GCC_BRACE_GROUPS # added by devel/scanprov
SV_HAS_TRAILING_NUL # added by devel/scanprov
SvVSTRING_mg # added by devel/scanprov
gv_fetchpvs # added by devel/scanprov
-isGV_with_GP # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5013000 b/cpan/Devel-PPPort/parts/base/5013000
index f2f116d2fa..8a31cc7f3e 100644
--- a/cpan/Devel-PPPort/parts/base/5013000
+++ b/cpan/Devel-PPPort/parts/base/5013000
@@ -1 +1,2 @@
5.013000
+cBOOL # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5013002 b/cpan/Devel-PPPort/parts/base/5013002
index fa6d99b407..5058d1e404 100644
--- a/cpan/Devel-PPPort/parts/base/5013002
+++ b/cpan/Devel-PPPort/parts/base/5013002
@@ -7,3 +7,4 @@ foldEQ_utf8 # U
hv_fill # U
sv_dec_nomg # U
sv_inc_nomg # U
+C_ARRAY_END # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5015004 b/cpan/Devel-PPPort/parts/base/5015004
index e25404d46f..516327e650 100644
--- a/cpan/Devel-PPPort/parts/base/5015004
+++ b/cpan/Devel-PPPort/parts/base/5015004
@@ -25,6 +25,7 @@ sv_derived_from_sv # U
sv_does_pv # U
sv_does_pvn # U
sv_does_sv # U
+sv_ref # U
whichsig_pv # U
whichsig_pvn # U
whichsig_sv # U
diff --git a/cpan/Devel-PPPort/parts/base/5020002 b/cpan/Devel-PPPort/parts/base/5020002
new file mode 100644
index 0000000000..e31c0d0f49
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5020002
@@ -0,0 +1 @@
+5.020002
diff --git a/cpan/Devel-PPPort/parts/base/5020003 b/cpan/Devel-PPPort/parts/base/5020003
new file mode 100644
index 0000000000..89ec61981a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5020003
@@ -0,0 +1 @@
+5.020003
diff --git a/cpan/Devel-PPPort/parts/base/5021001 b/cpan/Devel-PPPort/parts/base/5021001
index 6e66213f6e..353fedabfc 100644
--- a/cpan/Devel-PPPort/parts/base/5021001
+++ b/cpan/Devel-PPPort/parts/base/5021001
@@ -10,3 +10,4 @@ isIDFIRST_lazy # U
isUTF8_CHAR # U
markstack_grow # E (Perl_markstack_grow)
my_strerror # U
+PERL_UNUSED_RESULT # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5021002 b/cpan/Devel-PPPort/parts/base/5021002
index 1e17e3d19b..abe5ac1246 100644
--- a/cpan/Devel-PPPort/parts/base/5021002
+++ b/cpan/Devel-PPPort/parts/base/5021002
@@ -1,4 +1,3 @@
5.021002
grok_number_flags # U
-op_parent # U
op_sibling_splice # U
diff --git a/cpan/Devel-PPPort/parts/base/5021007 b/cpan/Devel-PPPort/parts/base/5021007
index 03c81e0cc8..bcaa19ca5f 100644
--- a/cpan/Devel-PPPort/parts/base/5021007
+++ b/cpan/Devel-PPPort/parts/base/5021007
@@ -1,7 +1,6 @@
5.021007
OpHAS_SIBLING # U
OpSIBLING # U
-OpSIBLING_set # U
PadnameUTF8 # E
is_invariant_string # U
newPADNAMELIST # U
diff --git a/cpan/Devel-PPPort/parts/base/5021008 b/cpan/Devel-PPPort/parts/base/5021008
index 7a8f642fed..ccba00cb34 100644
--- a/cpan/Devel-PPPort/parts/base/5021008
+++ b/cpan/Devel-PPPort/parts/base/5021008
@@ -1,66 +1,2 @@
5.021008
-BhkDISABLE # E
-BhkENABLE # E
-BhkENTRY_set # E
-MULTICALL # E
-PERL_SYS_TERM # E
-POP_MULTICALL # E
-PUSH_MULTICALL # E
-PadARRAY # E
-PadMAX # E
-PadlistARRAY # E
-PadlistMAX # E
-PadlistNAMES # E
-PadlistNAMESARRAY # E
-PadlistNAMESMAX # E
-PadnameLEN # E
-PadnamePV # E
-PadnameREFCNT # E
-PadnameREFCNT_dec # E
-PadnameSV # E
-PadnamelistARRAY # E
-PadnamelistMAX # E
-PadnamelistREFCNT # E
-PadnamelistREFCNT_dec # E
-XS_APIVERSION_BOOTCHECK # E
-XS_EXTERNAL # E
-XS_INTERNAL # E
-XS_VERSION_BOOTCHECK # E
-XopDISABLE # E
-XopENABLE # E
-XopENTRY # E
-XopENTRYCUSTOM # E
-XopENTRY_set # E
-cophh_new_empty # E
-my_lstat # U (Perl_my_lstat)
-my_stat # U (Perl_my_stat)
-reentrant_free # U
-reentrant_init # U
-reentrant_retry # U
-reentrant_size # U
-ref # U (Perl_ref)
sv_get_backrefs # U
-sv_magic_portable # U
-sv_setref_pvs # A
-PERL_BCDVERSION # added by devel/scanprov
-PERL_MAGIC_glob # added by devel/scanprov
-PERL_MAGIC_mutex # added by devel/scanprov
-PERL_MAGIC_overload # added by devel/scanprov
-PERL_MAGIC_overload_elem # added by devel/scanprov
-PL_bufend # added by devel/scanprov
-PL_bufptr # added by devel/scanprov
-PL_copline # added by devel/scanprov
-PL_error_count # added by devel/scanprov
-PL_expect # added by devel/scanprov
-PL_in_my # added by devel/scanprov
-PL_in_my_stash # added by devel/scanprov
-PL_lex_state # added by devel/scanprov
-PL_lex_stuff # added by devel/scanprov
-PL_linestr # added by devel/scanprov
-PL_rsfp # added by devel/scanprov
-PL_rsfp_filters # added by devel/scanprov
-PL_tokenbuf # added by devel/scanprov
-WARN_ASSERTIONS # added by devel/scanprov
-aTHXR # added by devel/scanprov
-aTHXR_ # added by devel/scanprov
-dTHXR # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5021009 b/cpan/Devel-PPPort/parts/base/5021009
new file mode 100644
index 0000000000..7397722a25
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5021009
@@ -0,0 +1 @@
+5.021009
diff --git a/cpan/Devel-PPPort/parts/base/5021010 b/cpan/Devel-PPPort/parts/base/5021010
new file mode 100644
index 0000000000..821a8fb629
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5021010
@@ -0,0 +1,2 @@
+5.021010
+DECLARATION_FOR_LC_NUMERIC_MANIPULATION # E
diff --git a/cpan/Devel-PPPort/parts/base/5021011 b/cpan/Devel-PPPort/parts/base/5021011
new file mode 100644
index 0000000000..6d0f3baa4f
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5021011
@@ -0,0 +1,4 @@
+5.021011
+OpLASTSIB_set # U
+OpMAYBESIB_set # U
+OpMORESIB_set # U
diff --git a/cpan/Devel-PPPort/parts/base/5022000 b/cpan/Devel-PPPort/parts/base/5022000
new file mode 100644
index 0000000000..aca319e5cd
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5022000
@@ -0,0 +1,2 @@
+5.022000
+UVCHR_SKIP # U
diff --git a/cpan/Devel-PPPort/parts/base/5022001 b/cpan/Devel-PPPort/parts/base/5022001
new file mode 100644
index 0000000000..28befba2cd
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5022001
@@ -0,0 +1 @@
+5.022001
diff --git a/cpan/Devel-PPPort/parts/base/5023000 b/cpan/Devel-PPPort/parts/base/5023000
new file mode 100644
index 0000000000..e461a32669
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5023000
@@ -0,0 +1 @@
+5.023000
diff --git a/cpan/Devel-PPPort/parts/base/5023001 b/cpan/Devel-PPPort/parts/base/5023001
new file mode 100644
index 0000000000..ea44212d3c
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5023001
@@ -0,0 +1 @@
+5.023001
diff --git a/cpan/Devel-PPPort/parts/base/5023002 b/cpan/Devel-PPPort/parts/base/5023002
new file mode 100644
index 0000000000..2060466c2a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5023002
@@ -0,0 +1 @@
+5.023002
diff --git a/cpan/Devel-PPPort/parts/base/5023003 b/cpan/Devel-PPPort/parts/base/5023003
new file mode 100644
index 0000000000..4b19a2410a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5023003
@@ -0,0 +1 @@
+5.023003
diff --git a/cpan/Devel-PPPort/parts/base/5023004 b/cpan/Devel-PPPort/parts/base/5023004
new file mode 100644
index 0000000000..ce60a67e7a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5023004
@@ -0,0 +1 @@
+5.023004
diff --git a/cpan/Devel-PPPort/parts/base/5023005 b/cpan/Devel-PPPort/parts/base/5023005
new file mode 100644
index 0000000000..1b8818c372
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5023005
@@ -0,0 +1 @@
+5.023005
diff --git a/cpan/Devel-PPPort/parts/base/5023006 b/cpan/Devel-PPPort/parts/base/5023006
new file mode 100644
index 0000000000..f6c59949af
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5023006
@@ -0,0 +1 @@
+5.023006
diff --git a/cpan/Devel-PPPort/parts/base/5023007 b/cpan/Devel-PPPort/parts/base/5023007
new file mode 100644
index 0000000000..fb7c55335d
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5023007
@@ -0,0 +1 @@
+5.023007
diff --git a/cpan/Devel-PPPort/parts/base/5023008 b/cpan/Devel-PPPort/parts/base/5023008
new file mode 100644
index 0000000000..ed2ef6d2eb
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5023008
@@ -0,0 +1,22 @@
+5.023008
+clear_defarray # U
+cx_popblock # U
+cx_popeval # U
+cx_popformat # U
+cx_popgiven # U
+cx_poploop # U
+cx_popsub # U
+cx_popsub_args # U
+cx_popsub_common # U
+cx_popwhen # U
+cx_pushblock # U
+cx_pusheval # U
+cx_pushformat # U
+cx_pushgiven # U
+cx_pushloop_for # U
+cx_pushloop_plain # U
+cx_pushsub # U
+cx_pushwhen # U
+cx_topblock # U
+leave_adjust_stacks # U
+savetmps # U
diff --git a/cpan/Devel-PPPort/parts/base/5023009 b/cpan/Devel-PPPort/parts/base/5023009
new file mode 100644
index 0000000000..336b09a3ee
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5023009
@@ -0,0 +1,5 @@
+5.023009
+toFOLD_uvchr # U
+toLOWER_uvchr # U
+toTITLE_uvchr # U
+toUPPER_uvchr # U
diff --git a/cpan/Devel-PPPort/parts/base/5024000 b/cpan/Devel-PPPort/parts/base/5024000
new file mode 100644
index 0000000000..32870f99ce
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5024000
@@ -0,0 +1,68 @@
+5.024000
+BhkDISABLE # E
+BhkENABLE # E
+BhkENTRY_set # E
+MULTICALL # E
+PERL_SYS_TERM # E
+POP_MULTICALL # E
+PUSH_MULTICALL # E
+PadARRAY # E
+PadMAX # E
+PadlistARRAY # E
+PadlistMAX # E
+PadlistNAMES # E
+PadlistNAMESARRAY # E
+PadlistNAMESMAX # E
+PadnameLEN # E
+PadnamePV # E
+PadnameREFCNT # E
+PadnameREFCNT_dec # E
+PadnameSV # E
+PadnamelistARRAY # E
+PadnamelistMAX # E
+PadnamelistREFCNT # E
+PadnamelistREFCNT_dec # E
+RESTORE_LC_NUMERIC # E
+STORE_LC_NUMERIC_FORCE_TO_UNDERLYING # E
+STORE_LC_NUMERIC_SET_TO_NEEDED # E
+XS_APIVERSION_BOOTCHECK # E
+XS_EXTERNAL # E
+XS_INTERNAL # E
+XS_VERSION_BOOTCHECK # E
+XopDISABLE # E
+XopENABLE # E
+XopENTRY # E
+XopENTRYCUSTOM # E
+XopENTRY_set # E
+cophh_new_empty # E
+my_lstat # U (Perl_my_lstat)
+my_stat # U (Perl_my_stat)
+reentrant_free # U
+reentrant_init # U
+reentrant_retry # U
+reentrant_size # U
+ref # U (Perl_ref)
+sv_magic_portable # U
+sv_setref_pvs # A
+PERL_BCDVERSION # added by devel/scanprov
+PERL_MAGIC_glob # added by devel/scanprov
+PERL_MAGIC_mutex # added by devel/scanprov
+PERL_MAGIC_overload # added by devel/scanprov
+PERL_MAGIC_overload_elem # added by devel/scanprov
+PL_bufend # added by devel/scanprov
+PL_bufptr # added by devel/scanprov
+PL_copline # added by devel/scanprov
+PL_error_count # added by devel/scanprov
+PL_expect # added by devel/scanprov
+PL_in_my # added by devel/scanprov
+PL_in_my_stash # added by devel/scanprov
+PL_lex_state # added by devel/scanprov
+PL_lex_stuff # added by devel/scanprov
+PL_linestr # added by devel/scanprov
+PL_rsfp # added by devel/scanprov
+PL_rsfp_filters # added by devel/scanprov
+PL_tokenbuf # added by devel/scanprov
+WARN_ASSERTIONS # added by devel/scanprov
+aTHXR # added by devel/scanprov
+aTHXR_ # added by devel/scanprov
+dTHXR # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/embed.fnc b/cpan/Devel-PPPort/parts/embed.fnc
index 746d0ca4cd..a64ffbac74 100644
--- a/cpan/Devel-PPPort/parts/embed.fnc
+++ b/cpan/Devel-PPPort/parts/embed.fnc
@@ -71,7 +71,8 @@
:
: M May change:
:
-: any doc entry is marked that function may change
+: any doc entry is marked that function may change. Also used to
+: suppress making a doc entry if it would just be a placeholder.
:
: m Implemented as a macro:
:
@@ -230,7 +231,9 @@ Apd |void |av_push |NN AV *av|NN SV *val
EXp |void |av_reify |NN AV *av
ApdR |SV* |av_shift |NN AV *av
Apd |SV** |av_store |NN AV *av|SSize_t key|NULLOK SV *val
+#ifndef PERL_NO_INLINE_FUNCTIONS
AidR |SSize_t|av_top_index |NN AV *av
+#endif
AmpdR |SSize_t|av_tindex |NN AV *av
Apd |void |av_undef |NN AV *av
ApdoxM |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const val
@@ -244,7 +247,7 @@ s |MAGIC* |get_aux_mg |NN AV *av
pR |OP* |bind_match |I32 type|NN OP *left|NN OP *right
: Used in perly.y
ApdR |OP* |block_end |I32 floor|NULLOK OP* seq
-ApR |I32 |block_gimme
+ApR |U8 |block_gimme
: Used in perly.y
ApdR |int |block_start |int full
Aodp |void |blockhook_register |NN BHK *hk
@@ -269,7 +272,7 @@ p |const COP*|closest_cop |NN const COP *cop|NULLOK const OP *o \
: Used in perly.y
ApdR |OP* |op_convert_list |I32 optype|I32 flags|NULLOK OP* o
: Used in op.c and perl.c
-pM |PERL_CONTEXT* |create_eval_scope|U32 flags
+pM |void |create_eval_scope|NULLOK OP *retop|U32 flags
Aprd |void |croak_sv |NN SV *baseex
: croak()'s first parm can be NULL. Otherwise, mod_perl breaks.
Afprd |void |croak |NULLOK const char* pat|...
@@ -317,7 +320,7 @@ pRn |SV* |cv_const_sv_or_av|NULLOK const CV *const cv
Apd |SV * |cv_name |NN CV *cv|NULLOK SV *sv|U32 flags
Apd |void |cv_undef |NN CV* cv
p |void |cv_undef_flags |NN CV* cv|U32 flags
-p |void |cv_forget_slab |NN CV *cv
+p |void |cv_forget_slab |NULLOK CV *cv
Ap |void |cx_dump |NN PERL_CONTEXT* cx
Ap |SV* |filter_add |NULLOK filter_t funcp|NULLOK SV* datasv
Ap |void |filter_del |NN filter_t funcp
@@ -334,7 +337,7 @@ ApR |I32 |cxinc
Afp |void |deb |NN const char* pat|...
Ap |void |vdeb |NN const char* pat|NULLOK va_list* args
Ap |void |debprofdump
-EXp |SV* |multideref_stringify |NN const OP* o|NN CV *cv
+EXp |SV* |multideref_stringify |NN const OP* o|NULLOK CV *cv
Ap |I32 |debop |NN const OP* o
Ap |I32 |debstack
Ap |I32 |debstackptrs
@@ -349,9 +352,9 @@ Afrpd |OP* |die |NULLOK const char* pat|...
pr |void |die_unwind |NN SV* msv
Ap |void |dounwind |I32 cxix
: FIXME
-pmb |bool |do_aexec |NULLOK SV* really|NN SV** mark|NN SV** sp
+pmb |bool|do_aexec |NULLOK SV* really|NN SV** mark|NN SV** sp
: Used in pp_sys.c
-p |bool |do_aexec5 |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
+p |bool|do_aexec5 |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
Ap |int |do_binmode |NN PerlIO *fp|int iotype|int mode
: Used in pp.c
Ap |bool |do_close |NULLOK GV* gv|bool not_implicit
@@ -359,9 +362,9 @@ Ap |bool |do_close |NULLOK GV* gv|bool not_implicit
p |bool |do_eof |NN GV* gv
#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-pm |bool |do_exec |NN const char* cmd
+pm |bool|do_exec |NN const char* cmd
#else
-p |bool |do_exec |NN const char* cmd
+p |bool|do_exec |NN const char* cmd
#endif
#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
@@ -370,7 +373,7 @@ Ap |int |do_spawn |NN char* cmd
Ap |int |do_spawn_nowait|NN char* cmd
#endif
#if !defined(WIN32)
-p |bool |do_exec3 |NN const char *incmd|int fd|int do_report
+p |bool|do_exec3 |NN const char *incmd|int fd|int do_report
#endif
p |void |do_execfree
#if defined(PERL_IN_DOIO_C)
@@ -440,7 +443,7 @@ p |void |do_vecset |NN SV* sv
p |void |do_vop |I32 optype|NN SV* sv|NN SV* left|NN SV* right
: Used in perly.y
p |OP* |dofile |NN OP* term|I32 force_builtin
-ApR |I32 |dowantarray
+ApR |U8 |dowantarray
Ap |void |dump_all
p |void |dump_all_perl |bool justperl
Ap |void |dump_eval
@@ -653,7 +656,9 @@ pR |OP* |invert |NULLOK OP* cmd
ApR |I32 |is_lvalue_sub
: Used in cop.h
XopR |I32 |was_lvalue_sub
+#ifndef PERL_NO_INLINE_FUNCTIONS
AiMRn |STRLEN |_is_utf8_char_slow|NN const U8 *s|NN const U8 *e
+#endif
ADMpPR |U32 |to_uni_upper_lc|U32 c
ADMpPR |U32 |to_uni_title_lc|U32 c
ADMpPR |U32 |to_uni_lower_lc|U32 c
@@ -781,13 +786,14 @@ Apd |void |op_null |NN OP* o
EXp |void |op_clear |NN OP* o
Ap |void |op_refcnt_lock
Ap |void |op_refcnt_unlock
-Apdn |OP* |op_sibling_splice|NN OP *parent|NULLOK OP *start \
+Apdn |OP* |op_sibling_splice|NULLOK OP *parent|NULLOK OP *start \
|int del_count|NULLOK OP* insert
+#ifdef PERL_OP_PARENT
Apdn |OP* |op_parent|NN OP *o
+#endif
#if defined(PERL_IN_OP_C)
s |OP* |listkids |NULLOK OP* o
#endif
-: Used in S_doeval in pp_ctl.c
p |OP* |list |NULLOK OP* o
Apd |void |load_module|U32 flags|NN SV* name|NULLOK SV* ver|...
Ap |void |vload_module|U32 flags|NN SV* name|NULLOK SV* ver|NULLOK va_list* args
@@ -795,22 +801,23 @@ Ap |void |vload_module|U32 flags|NN SV* name|NULLOK SV* ver|NULLOK va_list* args
p |OP* |localize |NN OP *o|I32 lex
ApdR |I32 |looks_like_number|NN SV *const sv
Apd |UV |grok_bin |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
-EMsR |char |grok_bslash_c |const char source|const bool output_warning
-EMsR |bool |grok_bslash_o |NN char** s|NN UV* uv \
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_DQUOTE_C)
+EMpRX |bool |grok_bslash_x |NN char** s|NN UV* uv \
|NN const char** error_msg \
|const bool output_warning \
|const bool strict \
|const bool silence_non_portable \
|const bool utf8
-EMiR |bool |grok_bslash_x |NN char** s|NN UV* uv \
+EMpRX |char |grok_bslash_c |const char source|const bool output_warning
+EMpRX |bool |grok_bslash_o |NN char** s|NN UV* uv \
|NN const char** error_msg \
|const bool output_warning \
|const bool strict \
|const bool silence_non_portable \
|const bool utf8
-EMsPR |char*|form_short_octal_warning|NN const char * const s \
+EMiR |char*|form_short_octal_warning|NN const char * const s \
|const STRLEN len
+EiPRn |I32 |regcurly |NN const char *s
#endif
Apd |UV |grok_hex |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
Apd |int |grok_infnan |NN const char** sp|NN const char *send
@@ -924,11 +931,11 @@ s |void |move_proto_attr|NN OP **proto|NN OP **attrs|NN const GV *name
p |int |mode_from_discipline|NULLOK const char* s|STRLEN len
Ap |const char* |moreswitches |NN const char* s
Ap |NV |my_atof |NN const char *s
-#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
-Anp |char* |my_bcopy |NN const char* from|NN char* to|I32 len
+#if !defined(HAS_MEMCPY) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY))
+Anp |void* |my_bcopy |NN const void* vfrom|NN void* vto|size_t len
#endif
#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-Anp |char* |my_bzero |NN char* loc|I32 len
+Anp |void* |my_bzero |NN void* vloc|size_t len
#endif
Apr |void |my_exit |U32 status
Apr |void |my_failure_exit
@@ -939,10 +946,10 @@ Anp |void |atfork_unlock
Apmb |I32 |my_lstat
pX |I32 |my_lstat_flags |NULLOK const U32 flags
#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-AnpP |I32 |my_memcmp |NN const char* s1|NN const char* s2|I32 len
+AnpP |int |my_memcmp |NN const void* vs1|NN const void* vs2|size_t len
#endif
#if !defined(HAS_MEMSET)
-Anp |void* |my_memset |NN char* loc|I32 ch|I32 len
+Anp |void* |my_memset |NN void* vloc|int ch|size_t len
#endif
#if !defined(PERL_IMPLICIT_SYS)
Ap |I32 |my_pclose |NULLOK PerlIO* ptr
@@ -960,9 +967,6 @@ ADMnoPR |UV |ASCII_TO_NEED |const UV enc|const UV ch
Apa |OP* |newANONLIST |NULLOK OP* o
Apa |OP* |newANONHASH |NULLOK OP* o
Ap |OP* |newANONSUB |I32 floor|NULLOK OP* proto|NULLOK OP* block
-#if defined(PERL_IN_OP_C)
-i |bool |aassign_common_vars |NULLOK OP* o
-#endif
Apda |OP* |newASSIGNOP |I32 flags|NULLOK OP* left|I32 optype|NULLOK OP* right
Apda |OP* |newCONDOP |I32 flags|NN OP* first|NULLOK OP* trueop|NULLOK OP* falseop
Apd |CV* |newCONSTSUB |NULLOK HV* stash|NULLOK const char* name|NULLOK SV* sv
@@ -1161,12 +1165,12 @@ Amb |OP* |ref |NULLOK OP* o|I32 type
s |OP* |refkids |NULLOK OP* o|I32 type
#endif
Ap |void |regdump |NN const regexp* r
-Ap |SV* |regclass_swash |NULLOK const regexp *prog \
+ApM |SV* |regclass_swash |NULLOK const regexp *prog \
|NN const struct regnode *node|bool doinit \
|NULLOK SV **listsvp|NULLOK SV **altsvp
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PERL_C) || defined(PERL_IN_UTF8_C)
AMpR |SV* |_new_invlist_C_array|NN const UV* const list
-: Not used currently: EXMs |bool |_invlistEQ |NN SV* const a|NN SV* const b|const bool complement_b
+EXMp |bool |_invlistEQ |NN SV* const a|NN SV* const b|const bool complement_b
#endif
Ap |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
|NN char* strend|NN char* strbeg \
@@ -1196,9 +1200,6 @@ Ap |char* |re_intuit_start|NN REGEXP * const rx \
|const U32 flags \
|NULLOK re_scream_pos_data *data
Ap |SV* |re_intuit_string|NN REGEXP *const r
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
-EiPRn |I32 |regcurly |NN const char *s
-#endif
Ap |I32 |regexec_flags |NN REGEXP *const rx|NN char *stringarg \
|NN char *strend|NN char *strbeg \
|SSize_t minend|NN SV *sv \
@@ -1258,7 +1259,6 @@ Ap |void |savestack_grow_cnt |I32 need
Amp |void |save_aelem |NN AV* av|SSize_t idx|NN SV **sptr
Ap |void |save_aelem_flags|NN AV* av|SSize_t idx|NN SV **sptr \
|const U32 flags
-p |void |save_aliased_sv|NN GV* gv
Ap |I32 |save_alloc |I32 size|I32 pad
Ap |void |save_aptr |NN AV** aptr
Ap |AV* |save_ary |NN GV* gv
@@ -1276,7 +1276,7 @@ Apmb |void |save_freepv |NULLOK char* pv
Ap |void |save_generic_svref|NN SV** sptr
Ap |void |save_generic_pvref|NN char** str
Ap |void |save_shared_pvref|NN char** str
-Ap |void |save_gp |NN GV* gv|I32 empty
+Adp |void |save_gp |NN GV* gv|I32 empty
Ap |HV* |save_hash |NN GV* gv
Ap |void |save_hints
Amp |void |save_helem |NN HV *hv|NN SV *key|NN SV **sptr
@@ -1302,6 +1302,7 @@ Ap |void |save_padsv_and_mortalize|PADOFFSET off
Ap |void |save_sptr |NN SV** sptr
Xp |void |save_strlen |NN STRLEN* ptr
Ap |SV* |save_svref |NN SV** sptr
+AMpo |void |savetmps
Ap |void |save_pushptr |NULLOK void *const ptr|const int type
Ap |void |save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
: Used by SAVESWITCHSTACK() in pp.c
@@ -1375,7 +1376,7 @@ Apd |I32 |sv_true |NULLOK SV *const sv
sd |void |sv_add_arena |NN char *const ptr|const U32 size \
|const U32 flags
#endif
-Apdn |int |sv_backoff |NN SV *const sv
+Apdn |void |sv_backoff |NN SV *const sv
Apd |SV* |sv_bless |NN SV *const sv|NN HV *const stash
#if defined(PERL_DEBUG_READONLY_COW)
p |void |sv_buf_to_ro |NN SV *sv
@@ -1447,7 +1448,9 @@ Apd |void |sv_magic |NN SV *const sv|NULLOK SV *const obj|const int how \
Apd |MAGIC *|sv_magicext |NN SV *const sv|NULLOK SV *const obj|const int how \
|NULLOK const MGVTBL *const vtbl|NULLOK const char *const name \
|const I32 namlen
+#ifndef PERL_NO_INLINE_FUNCTIONS
Ein |bool |sv_only_taint_gmagic|NN SV *sv
+#endif
: exported for re.pm
EXp |MAGIC *|sv_magicext_mglob|NN SV *sv
ApdbamR |SV* |sv_mortalcopy |NULLOK SV *const oldsv
@@ -1468,7 +1471,7 @@ Apd |char* |sv_recode_to_utf8 |NN SV* sv|NN SV *encoding
Apd |bool |sv_cat_decode |NN SV* dsv|NN SV *encoding|NN SV *ssv|NN int *offset \
|NN char* tstr|int tlen
ApdR |const char* |sv_reftype |NN const SV *const sv|const int ob
-pd |SV* |sv_ref |NULLOK SV *dst|NN const SV *const sv|const int ob
+Apd |SV* |sv_ref |NULLOK SV *dst|NN const SV *const sv|const int ob
Apd |void |sv_replace |NN SV *const sv|NN SV *const nsv
Apd |void |sv_report_used
Apd |void |sv_reset |NN const char* s|NULLOK HV *const stash
@@ -1512,8 +1515,8 @@ Apd |void |sv_vsetpvfn |NN SV *const sv|NN const char *const pat|const STRLEN pa
|NULLOK va_list *const args|NULLOK SV **const svargs \
|const I32 svmax|NULLOK bool *const maybe_tainted
ApR |NV |str_to_version |NN SV *sv
-ApR |SV* |swash_init |NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
-Ap |UV |swash_fetch |NN SV *swash|NN const U8 *ptr|bool do_utf8
+ApRM |SV* |swash_init |NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
+ApM |UV |swash_fetch |NN SV *swash|NN const U8 *ptr|bool do_utf8
#ifdef PERL_IN_REGCOMP_C
EiMR |SV* |add_cp_to_invlist |NULLOK SV* invlist|const UV cp
EsM |void |_append_range_to_invlist |NN SV* const invlist|const UV start|const UV end
@@ -1521,12 +1524,14 @@ EiMRn |UV* |_invlist_array_init |NN SV* const invlist|const bool will_have_0
EsM |void |invlist_extend |NN SV* const invlist|const UV len
EiMRn |UV |invlist_max |NN SV* const invlist
EiM |void |invlist_set_len|NN SV* const invlist|const UV len|const bool offset
+EiMRn |bool |invlist_is_iterating|NN SV* const invlist
#ifndef PERL_EXT_RE_BUILD
+EsM |void |invlist_replace_list_destroys_src|NN SV *dest|NN SV *src
EiMRn |IV* |get_invlist_previous_index_addr|NN SV* invlist
-EiMRn |bool |invlist_is_iterating|NN SV* const invlist
EiMn |void |invlist_set_previous_index|NN SV* const invlist|const IV index
EiMRn |IV |invlist_previous_index|NN SV* const invlist
-EiMn |void |invlist_trim |NN SV* const invlist
+EiMn |void |invlist_trim |NN SV* invlist
+EiM |void |invlist_clear |NN SV* invlist
#endif
EiMR |SV* |invlist_clone |NN SV* const invlist
EiMRn |STRLEN*|get_invlist_iter_addr |NN SV* invlist
@@ -1536,6 +1541,8 @@ EiMn |void |invlist_iterfinish|NN SV* invlist
EiMRn |UV |invlist_highest|NN SV* const invlist
EMRs |SV* |_make_exactf_invlist |NN RExC_state_t *pRExC_state \
|NN regnode *node
+EsMR |SV* |invlist_contents|NN SV* const invlist \
+ |const bool traditional_style
#endif
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
EXmM |void |_invlist_intersection |NN SV* const a|NN SV* const b|NN SV** i
@@ -1561,7 +1568,6 @@ EXp |SV* |_core_swash_init|NN const char* pkg|NN const char* name \
#endif
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
EiMRn |UV* |invlist_array |NN SV* const invlist
-EXMpR |SV* |_invlist_contents|NN SV* const invlist
EiMRn |bool* |get_invlist_offset_addr|NN SV* invlist
EiMRn |UV |_invlist_len |NN SV* const invlist
EMiRn |bool |_invlist_contains_cp|NN SV* const invlist|const UV cp
@@ -1576,7 +1582,7 @@ ApM |SV* |_get_regclass_nonbitmap_data \
|bool doinit \
|NULLOK SV **listsvp \
|NULLOK SV **lonly_utf8_locale \
- |NULLOK SV *exclude_list
+ |NULLOK SV **output_invlist
EXp |void|_load_PL_utf8_foldclosures|
#endif
#if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C)
@@ -1586,8 +1592,21 @@ EXMp |void |_invlist_dump |NN PerlIO *file|I32 level \
#endif
Ap |void |taint_env
Ap |void |taint_proper |NULLOK const char* f|NN const char *const s
-Apd |UV |to_utf8_case |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp \
- |NN SV **swashp|NN const char *normal|NULLOK const char *special
+ApdD |UV |to_utf8_case |NN const U8 *p \
+ |NN U8* ustrp \
+ |NULLOK STRLEN *lenp \
+ |NN SV **swashp \
+ |NN const char *normal| \
+ NULLOK const char *special
+#if defined(PERL_IN_UTF8_C)
+s |UV |_to_utf8_case |const UV uv1 \
+ |NN const U8 *p \
+ |NN U8* ustrp \
+ |NULLOK STRLEN *lenp \
+ |NN SV **swashp \
+ |NN const char *normal \
+ |NULLOK const char *special
+#endif
Abmd |UV |to_utf8_lower |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
AMp |UV |_to_utf8_lower_flags |NN const U8 *p|NN U8* ustrp \
|NULLOK STRLEN *lenp|bool flags
@@ -1623,7 +1642,7 @@ Ap |U8* |utf16_to_utf8 |NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
Ap |U8* |utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
AdpPR |STRLEN |utf8_length |NN const U8* s|NN const U8 *e
ApdPR |IV |utf8_distance |NN const U8 *a|NN const U8 *b
-ApdPRn |U8* |utf8_hop |NN const U8 *s|I32 off
+ApdPRn |U8* |utf8_hop |NN const U8 *s|SSize_t off
ApMd |U8* |utf8_to_bytes |NN U8 *s|NN STRLEN *len
Apd |int |bytes_cmp_utf8 |NN const U8 *b|STRLEN blen|NN const U8 *u \
|STRLEN ulen
@@ -1691,8 +1710,10 @@ Am |I32 |whichsig |NN const char* sig
Ap |I32 |whichsig_sv |NN SV* sigsv
Ap |I32 |whichsig_pv |NN const char* sig
Ap |I32 |whichsig_pvn |NN const char* sig|STRLEN len
+#ifndef PERL_NO_INLINE_FUNCTIONS
: used to check for NULs in pathnames and other names
AiR |bool |is_safe_syscall|NN const char *pv|STRLEN len|NN const char *what|NN const char *op_name
+#endif
#ifdef PERL_CORE
inR |bool |should_warn_nl|NN const char *pv
#endif
@@ -2042,20 +2063,18 @@ sR |OP* |dofindlabel |NN OP *o|NN const char *label|STRLEN len \
s |MAGIC *|doparseform |NN SV *sv
snR |bool |num_overflow |NV value|I32 fldsize|I32 frcsize
sR |I32 |dopoptoeval |I32 startingblock
-sR |I32 |dopoptogiven |I32 startingblock
+sR |I32 |dopoptogivenfor|I32 startingblock
sR |I32 |dopoptolabel |NN const char *label|STRLEN len|U32 flags
sR |I32 |dopoptoloop |I32 startingblock
sR |I32 |dopoptosub_at |NN const PERL_CONTEXT* cxstk|I32 startingblock
sR |I32 |dopoptowhen |I32 startingblock
s |void |save_lines |NULLOK AV *array|NN SV *sv
-s |bool |doeval |int gimme \
+s |bool |doeval_compile |U8 gimme \
|NULLOK CV* outside|U32 seq|NULLOK HV* hh
sR |PerlIO *|check_type_and_open|NN SV *name
#ifndef PERL_DISABLE_PMC
sR |PerlIO *|doopen_pm |NN SV *name
#endif
-s |SV ** |leave_common |NN SV **newsp|NN SV **sp|NN SV **mark|I32 gimme \
- |U32 flags|bool lvalue
iRn |bool |path_is_searchable|NN const char *name
sR |I32 |run_user_filter|int idx|NN SV *buf_sv|int maxlen
sR |PMOP* |make_matcher |NN REGEXP* re
@@ -2076,9 +2095,9 @@ s |I32 |sv_i_ncmp |NN SV *const a|NN SV *const b
s |I32 |amagic_ncmp |NN SV *const a|NN SV *const b
s |I32 |amagic_i_ncmp |NN SV *const a|NN SV *const b
s |I32 |amagic_cmp |NN SV *const str1|NN SV *const str2
-# ifdef USE_LOCALE_COLLATE
+# ifdef USE_LOCALE_COLLATE
s |I32 |amagic_cmp_locale|NN SV *const str1|NN SV *const str2
-#endif
+# endif
s |I32 |sortcv |NN SV *const a|NN SV *const b
s |I32 |sortcv_xsub |NN SV *const a|NN SV *const b
s |I32 |sortcv_stacked |NN SV *const a|NN SV *const b
@@ -2099,6 +2118,7 @@ p |OP * |tied_method|NN SV *methname|NN SV **sp \
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
Ep |void |regprop |NULLOK const regexp *prog|NN SV* sv|NN const regnode* o|NULLOK const regmatch_info *reginfo \
|NULLOK const RExC_state_t *pRExC_state
+Ep |int |re_printf |NN const char *fmt|...
#endif
#if defined(PERL_IN_REGCOMP_C)
Es |regnode*|reg |NN RExC_state_t *pRExC_state \
@@ -2124,6 +2144,10 @@ Es |void |set_ANYOF_arg |NN RExC_state_t* const pRExC_state \
|NULLOK SV* const only_utf8_locale_list \
|NULLOK SV* const swash \
|const bool has_user_defined_property
+Es |void |output_or_return_posix_warnings \
+ |NN RExC_state_t *pRExC_state \
+ |NN AV* posix_warnings \
+ |NULLOK AV** return_posix_warnings
Es |AV* |add_multi_match|NULLOK AV* multi_char_matches \
|NN SV* multi_string \
|const STRLEN cp_count
@@ -2132,40 +2156,52 @@ Es |regnode*|regclass |NN RExC_state_t *pRExC_state \
|bool allow_multi_fold \
|const bool silence_non_portable \
|const bool strict \
- |NULLOK SV** ret_invlist
+ |bool optimizable \
+ |NULLOK SV** ret_invlist \
+ |NULLOK AV** return_posix_warnings
Es |void|add_above_Latin1_folds|NN RExC_state_t *pRExC_state|const U8 cp \
|NN SV** invlist
-Esn |bool|could_it_be_a_POSIX_class|NN RExC_state_t *pRExC_state
+Ei |regnode*|handle_named_backref|NN RExC_state_t *pRExC_state \
+ |NN I32 *flagp \
+ |NN char * parse_start \
+ |char ch
+EsnP |unsigned int|regex_set_precedence|const U8 my_operator
Es |regnode*|handle_regex_sets|NN RExC_state_t *pRExC_state \
|NULLOK SV ** return_invlist \
|NN I32 *flagp|U32 depth \
|NN char * const oregcomp_parse
Es |void|parse_lparen_question_flags|NN RExC_state_t *pRExC_state
Es |regnode*|reg_node |NN RExC_state_t *pRExC_state|U8 op
-Es |UV |reg_recode |const char value|NN SV **encp
+Es |UV |reg_recode |const U8 value|NN SV **encp
Es |regnode*|regpiece |NN RExC_state_t *pRExC_state \
|NN I32 *flagp|U32 depth
-Es |STRLEN |grok_bslash_N |NN RExC_state_t *pRExC_state \
- |NULLOK regnode** nodep|NULLOK UV *valuep \
- |NN I32 *flagp|U32 depth \
- |NULLOK SV** substitute_parse
+Es |bool |grok_bslash_N |NN RExC_state_t *pRExC_state \
+ |NULLOK regnode** nodep \
+ |NULLOK UV *code_point_p \
+ |NULLOK int* cp_count \
+ |NN I32 *flagp \
+ |const bool strict \
+ |const U32 depth
Es |void |reginsert |NN RExC_state_t *pRExC_state \
|U8 op|NN regnode *opnd|U32 depth
-Es |void |regtail |NN RExC_state_t *pRExC_state \
- |NN regnode *p|NN const regnode *val|U32 depth
+Es |void |regtail |NN RExC_state_t * pRExC_state \
+ |NN const regnode * const p \
+ |NN const regnode * const val \
+ |const U32 depth
Es |SV * |reg_scan_name |NN RExC_state_t *pRExC_state \
|U32 flags
Es |U32 |join_exact |NN RExC_state_t *pRExC_state \
|NN regnode *scan|NN UV *min_subtract \
|NN bool *unfolded_multi_char \
|U32 flags|NULLOK regnode *val|U32 depth
-EsRn |char * |regpatws |NN RExC_state_t *pRExC_state \
- |NN char *p|const bool recognize_comment
Ei |void |alloc_maybe_populate_EXACT|NN RExC_state_t *pRExC_state \
|NN regnode *node|NN I32 *flagp|STRLEN len \
|UV code_point|bool downgradable
Ein |U8 |compute_EXACTish|NN RExC_state_t *pRExC_state
-Es |char * |nextchar |NN RExC_state_t *pRExC_state
+Es |void |nextchar |NN RExC_state_t *pRExC_state
+Es |void |skip_to_be_ignored_text|NN RExC_state_t *pRExC_state \
+ |NN char ** p \
+ |const bool force_to_xmod
Ein |char * |reg_skipcomment|NN RExC_state_t *pRExC_state|NN char * p
Es |void |scan_commit |NN const RExC_state_t *pRExC_state \
|NN struct scan_data_t *data \
@@ -2210,8 +2246,12 @@ Es |SSize_t|study_chunk |NN RExC_state_t *pRExC_state \
EsRn |U32 |add_data |NN RExC_state_t* const pRExC_state \
|NN const char* const s|const U32 n
rs |void |re_croak2 |bool utf8|NN const char* pat1|NN const char* pat2|...
-Ei |I32 |regpposixcc |NN RExC_state_t *pRExC_state \
- |I32 value|const bool strict
+Es |int |handle_possible_posix \
+ |NN RExC_state_t *pRExC_state \
+ |NN const char* const s \
+ |NULLOK char ** updated_parse_ptr \
+ |NULLOK AV** posix_warnings \
+ |const bool check_only
Es |I32 |make_trie |NN RExC_state_t *pRExC_state \
|NN regnode *startbranch|NN regnode *first \
|NN regnode *last|NN regnode *tail \
@@ -2219,7 +2259,13 @@ Es |I32 |make_trie |NN RExC_state_t *pRExC_state \
Es |regnode *|construct_ahocorasick_from_trie|NN RExC_state_t *pRExC_state \
|NN regnode *source|U32 depth
EnPs |const char *|cntrl_to_mnemonic|const U8 c
+EnPs |int |edit_distance |NN const UV *src \
+ |NN const UV *tgt \
+ |const STRLEN x \
+ |const STRLEN y \
+ |const SSize_t maxDistance
# ifdef DEBUGGING
+Ep |int |re_indentf |NN const char *fmt|U32 depth|...
Es |void |regdump_intflags|NULLOK const char *lead| const U32 flags
Es |void |regdump_extflags|NULLOK const char *lead| const U32 flags
Es |const regnode*|dumpuntil|NN const regexp *r|NN const regnode *start \
@@ -2228,9 +2274,21 @@ Es |const regnode*|dumpuntil|NN const regexp *r|NN const regnode *start \
|NULLOK const regnode *plast \
|NN SV* sv|I32 indent|U32 depth
Es |void |put_code_point |NN SV* sv|UV c
-Es |bool |put_charclass_bitmap_innards|NN SV* sv \
- |NN char* bitmap \
- |NULLOK SV** bitmap_invlist
+Es |bool |put_charclass_bitmap_innards|NN SV* sv \
+ |NN char* bitmap \
+ |NULLOK SV* nonbitmap_invlist \
+ |NULLOK SV* only_utf8_locale_invlist\
+ |NULLOK const regnode * const node
+Es |SV* |put_charclass_bitmap_innards_common \
+ |NN SV* invlist \
+ |NULLOK SV* posixes \
+ |NULLOK SV* only_utf8 \
+ |NULLOK SV* not_utf8 \
+ |NULLOK SV* only_utf8_locale \
+ |const bool invert
+Es |void |put_charclass_bitmap_innards_invlist \
+ |NN SV *sv \
+ |NN SV* invlist
Es |void |put_range |NN SV* sv|UV start|const UV end \
|const bool allow_literals
Es |void |dump_trie |NN const struct _reg_trie_data *trie\
@@ -2256,7 +2314,7 @@ ERs |I32 |regrepeat |NN regexp *prog|NN char **startposp \
|NN regmatch_info *const reginfo \
|I32 max \
|int depth
-ERs |I32 |regtry |NN regmatch_info *reginfo|NN char **startposp
+ERs |bool |regtry |NN regmatch_info *reginfo|NN char **startposp
ERs |bool |reginclass |NULLOK regexp * const prog \
|NN const regnode * const n \
|NN const U8 * const p \
@@ -2277,44 +2335,59 @@ Es |void |to_utf8_substr |NN regexp * prog
Es |bool |to_byte_substr |NN regexp * prog
ERsn |I32 |reg_check_named_buff_matched |NN const regexp *rex \
|NN const regnode *scan
-EsnR |bool |isGCB |const PL_GCB_enum before|const PL_GCB_enum after
-EsR |bool |isSB |PL_SB_enum before \
- |PL_SB_enum after \
+EinR |bool |isGCB |const GCB_enum before|const GCB_enum after
+EsR |bool |isLB |LB_enum before \
+ |LB_enum after \
+ |NN const U8 * const strbeg \
+ |NN const U8 * const curpos \
+ |NN const U8 * const strend \
+ |const bool utf8_target
+EsR |LB_enum|advance_one_LB |NN U8 ** curpos \
+ |NN const U8 * const strend \
+ |const bool utf8_target
+EsR |LB_enum|backup_one_LB |NN const U8 * const strbeg \
+ |NN U8 ** curpos \
+ |const bool utf8_target
+EsR |bool |isSB |SB_enum before \
+ |SB_enum after \
|NN const U8 * const strbeg \
|NN const U8 * const curpos \
|NN const U8 * const strend \
|const bool utf8_target
-EsR |PL_SB_enum|advance_one_SB|NN U8 ** curpos \
+EsR |SB_enum|advance_one_SB |NN U8 ** curpos \
|NN const U8 * const strend \
|const bool utf8_target
-EsR |PL_SB_enum|backup_one_SB|NN const U8 * const strbeg \
+EsR |SB_enum|backup_one_SB |NN const U8 * const strbeg \
|NN U8 ** curpos \
|const bool utf8_target
-EsR |bool |isWB |PL_WB_enum previous \
- |PL_WB_enum before \
- |PL_WB_enum after \
+EsR |bool |isWB |WB_enum previous \
+ |WB_enum before \
+ |WB_enum after \
|NN const U8 * const strbeg \
|NN const U8 * const curpos \
|NN const U8 * const strend \
|const bool utf8_target
-EsR |PL_WB_enum|advance_one_WB|NN U8 ** curpos \
+EsR |WB_enum|advance_one_WB |NN U8 ** curpos \
|NN const U8 * const strend \
- |const bool utf8_target
-EsR |PL_WB_enum|backup_one_WB|NN PL_WB_enum * previous \
+ |const bool utf8_target \
+ |const bool skip_Extend_Format
+EsR |WB_enum|backup_one_WB |NN WB_enum * previous \
|NN const U8 * const strbeg \
|NN U8 ** curpos \
|const bool utf8_target
# ifdef DEBUGGING
Es |void |dump_exec_pos |NN const char *locinput|NN const regnode *scan|NN const char *loc_regeol\
- |NN const char *loc_bostr|NN const char *loc_reg_starttry|const bool do_utf8
+ |NN const char *loc_bostr|NN const char *loc_reg_starttry|const bool do_utf8|const U32 depth
Es |void |debug_start_match|NN const REGEXP *prog|const bool do_utf8\
|NN const char *start|NN const char *end\
|NN const char *blurb
+
+Ep |int |re_exec_indentf |NN const char *fmt|U32 depth|...
# endif
#endif
#if defined(PERL_IN_DUMP_C)
-s |CV* |deb_curcv |const I32 ix
+s |CV* |deb_curcv |I32 ix
s |void |debprof |NN const OP *o
s |UV |sequence_num |NULLOK const OP *o
s |SV* |pm_description |NN const PMOP *pm
@@ -2376,9 +2449,6 @@ s |STRLEN |sv_pos_b2u_midway|NN const U8 *const s|NN const U8 *const target \
s |void |assert_uft8_cache_coherent|NN const char *const func \
|STRLEN from_cache|STRLEN real|NN SV *const sv
sn |char * |F0convert |NV nv|NN char *const endbuf|NN STRLEN *const len
-# if defined(PERL_OLD_COPY_ON_WRITE)
-sM |void |sv_release_COW |NN SV *sv|NN const char *pvx|NN SV *after
-# endif
s |SV * |more_sv
s |bool |sv_2iuv_common |NN SV *const sv
s |void |glob_assign_glob|NN SV *const dstr|NN SV *const sstr \
@@ -2472,8 +2542,14 @@ s |char* |stdize_locale |NN char* locs
#if defined(USE_LOCALE) \
&& (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
ApM |bool |_is_cur_LC_category_utf8|int category
+# ifdef DEBUGGING
+AMnPpR |char * |_setlocale_debug_string|const int category \
+ |NULLOK const char* const locale \
+ |NULLOK const char* const retval
+# endif
#endif
+
#if defined(PERL_IN_UTIL_C)
s |SV* |mess_alloc
s |SV * |with_queued_errors|NN SV *ex
@@ -2487,6 +2563,12 @@ sn |void |mem_log_common |enum mem_log_type mlt|const UV n|const UV typesize \
#endif
#endif
+#if defined(PERL_MEM_LOG)
+pn |Malloc_t |mem_log_alloc |const UV nconst|UV typesize|NN const char *type_name|Malloc_t newalloc|NN const char *filename|const int linenumber|NN const char *funcname
+pn |Malloc_t |mem_log_realloc |const UV n|const UV typesize|NN const char *type_name|Malloc_t oldalloc|Malloc_t newalloc|NN const char *filename|const int linenumber|NN const char *funcname
+pn |Malloc_t |mem_log_free |Malloc_t oldalloc|NN const char *filename|const int linenumber|NN const char *funcname
+#endif
+
#if defined(PERL_IN_NUMERIC_C)
#ifndef USE_QUADMATH
sn |NV|mulexp10 |NV value|I32 exponent
@@ -2506,7 +2588,9 @@ sRM |U8* |swash_scan_list_line|NN U8* l|NN U8* const lend|NN UV* min \
|NN const U8* const typestr
#endif
+#ifndef PERL_NO_INLINE_FUNCTIONS
AiMn |void |append_utf8_from_native_byte|const U8 byte|NN U8** dest
+#endif
Apd |void |sv_setsv_flags |NN SV *dstr|NULLOK SV *sstr|const I32 flags
Apd |void |sv_catpvn_flags|NN SV *const dstr|NN const char *sstr|const STRLEN len \
@@ -2600,8 +2684,6 @@ Apd |PADOFFSET|pad_findmy_pv|NN const char* name|U32 flags
Apd |PADOFFSET|pad_findmy_sv|NN SV* name|U32 flags
ApdD |PADOFFSET|find_rundefsvoffset |
Apd |SV* |find_rundefsv |
-: Used in pp.c
-p |SV* |find_rundefsv2 |NN CV *cv|U32 seq
#if defined(PERL_IN_PAD_C)
sd |PADOFFSET|pad_findlex |NN const char *namepv|STRLEN namelen|U32 flags \
|NN const CV* cv|U32 seq|int warn \
@@ -2743,7 +2825,7 @@ so |void |xs_version_bootcheck|U32 items|U32 ax|NN const char *xs_p \
#endif
Xpon |I32 |xs_handshake |const U32 key|NN void * v_my_perl\
|NN const char * file| ...
-Xp |void |xs_boot_epilog |const U32 ax
+Xp |void |xs_boot_epilog |const I32 ax
#ifndef HAS_STRLCAT
Apnod |Size_t |my_strlcat |NULLOK char *dst|NULLOK const char *src|Size_t size
#endif
@@ -2834,5 +2916,41 @@ Ei |STRLEN |sv_or_pv_pos_u2b|NN SV *sv|NN const char *pv|STRLEN pos \
#endif
EMpPX |SV* |_get_encoding
+Ap |void |clear_defarray |NN AV* av|bool abandon
+
+ApM |void |leave_adjust_stacks|NN SV **from_sp|NN SV **to_sp \
+ |U8 gimme|int filter
+
+#ifndef PERL_NO_INLINE_FUNCTIONS
+AiM |PERL_CONTEXT * |cx_pushblock|U8 type|U8 gimme|NN SV** sp|I32 saveix
+AiM |void |cx_popblock|NN PERL_CONTEXT *cx
+AiM |void |cx_topblock|NN PERL_CONTEXT *cx
+AiM |void |cx_pushsub |NN PERL_CONTEXT *cx|NN CV *cv \
+ |NULLOK OP *retop|bool hasargs
+AiM |void |cx_popsub_common|NN PERL_CONTEXT *cx
+AiM |void |cx_popsub_args |NN PERL_CONTEXT *cx
+AiM |void |cx_popsub |NN PERL_CONTEXT *cx
+AiM |void |cx_pushformat |NN PERL_CONTEXT *cx|NN CV *cv \
+ |NULLOK OP *retop|NULLOK GV *gv
+AiM |void |cx_popformat |NN PERL_CONTEXT *cx
+AiM |void |cx_pusheval |NN PERL_CONTEXT *cx \
+ |NULLOK OP *retop|NULLOK SV *namesv
+AiM |void |cx_popeval |NN PERL_CONTEXT *cx
+AiM |void |cx_pushloop_plain|NN PERL_CONTEXT *cx
+AiM |void |cx_pushloop_for |NN PERL_CONTEXT *cx \
+ |NN void *itervarp|NULLOK SV *itersave
+AiM |void |cx_poploop |NN PERL_CONTEXT *cx
+AiM |void |cx_pushwhen |NN PERL_CONTEXT *cx
+AiM |void |cx_popwhen |NN PERL_CONTEXT *cx
+AiM |void |cx_pushgiven |NN PERL_CONTEXT *cx|NULLOK SV *orig_defsv
+AiM |void |cx_popgiven |NN PERL_CONTEXT *cx
+#endif
+
+#ifdef USE_DTRACE
+XEop |void |dtrace_probe_call |NN CV *cv|bool is_call
+XEop |void |dtrace_probe_load |NN const char *name|bool is_loading
+XEop |void |dtrace_probe_op |NN const OP *op
+XEop |void |dtrace_probe_phase|enum perl_phase phase
+#endif
: ex: set ts=8 sts=4 sw=4 noet:
diff --git a/cpan/Devel-PPPort/parts/inc/gv b/cpan/Devel-PPPort/parts/inc/gv
index 62afb5b6ee..d2f526f416 100644
--- a/cpan/Devel-PPPort/parts/inc/gv
+++ b/cpan/Devel-PPPort/parts/inc/gv
@@ -11,16 +11,34 @@
=provides
-__UNDEFINED__
+gv_fetchpvn_flags
=implementation
+#ifndef gv_fetchpvn_flags
+#if { NEED gv_fetchpvn_flags }
+
+GV*
+gv_fetchpvn_flags(pTHX_ const char* name, STRLEN len, int flags, int types) {
+ char *namepv = savepvn(name, len);
+ GV* stash = gv_fetchpv(namepv, TRUE, SVt_PVHV);
+ Safefree(namepv);
+ return stash;
+}
+
+#endif
+#endif
+
__UNDEFINED__ GvSVn(gv) GvSV(gv)
__UNDEFINED__ isGV_with_GP(gv) isGV(gv)
-__UNDEFINED__ gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt)
__UNDEFINED__ gv_fetchsv(name, flags, svt) gv_fetchpv(SvPV_nolen_const(name), flags, svt)
__UNDEFINED__ get_cvn_flags(name, namelen, flags) get_cv(name, flags)
+__UNDEFINED__ gv_init_pvn(gv, stash, ptr, len, flags) gv_init(gv, stash, ptr, len, flags & GV_ADDMULTI ? TRUE : FALSE)
+
+=xsinit
+
+#define NEED_gv_fetchpvn_flags
=xsubs
@@ -74,7 +92,11 @@ get_cvn_flags()
SV*
gv_fetchpvn_flags()
CODE:
- RETVAL = newRV_inc((SV*)gv_fetchpvn_flags("Devel::PPPort::VERSION", sizeof("Devel::PPPort::VERSION")-1, 0, SVt_PV));
+#if { VERSION < 5.9.2 } || { VERSION > 5.9.3 } /* 5.9.2 and 5.9.3 ignore the length param */
+ RETVAL = newRV_inc((SV*)gv_fetchpvn_flags("Devel::PPPort::VERSIONFAKE", sizeof("Devel::PPPort::VERSIONFAKE")-5, 0, SVt_PV));
+#else
+ RETVAL = newRV_inc((SV*)gv_fetchpvn_flags("Devel::PPPort::VERSION", 0, 0, SVt_PV));
+#endif
OUTPUT:
RETVAL
@@ -86,7 +108,24 @@ gv_fetchsv(name)
OUTPUT:
RETVAL
-=tests plan => 5
+void
+gv_init_type(namesv, multi, flags)
+ SV* namesv
+ int multi
+ I32 flags
+ PREINIT:
+ HV *defstash = gv_stashpv("main", 0);
+ STRLEN len;
+ const char * const name = SvPV_const(namesv, len);
+ GV *gv = *(GV**)hv_fetch(defstash, name, len, TRUE);
+ PPCODE:
+ if (SvTYPE(gv) == SVt_PVGV)
+ Perl_croak(aTHX_ "GV is already a PVGV");
+ if (multi) flags |= GV_ADDMULTI;
+ gv_init_pvn(gv, defstash, name, len, flags);
+ XPUSHs( gv ? (SV*)gv : &PL_sv_undef);
+
+=tests plan => 7
ok(Devel::PPPort::GvSVn(), 1);
@@ -97,3 +136,6 @@ ok(Devel::PPPort::get_cvn_flags(), 3);
ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
ok(Devel::PPPort::gv_fetchsv("Devel::PPPort::VERSION"), \*Devel::PPPort::VERSION);
+
+ok(Devel::PPPort::gv_init_type("sanity_check", 0, 0), "*main::sanity_check");
+ok($::{sanity_check});
diff --git a/cpan/Devel-PPPort/parts/inc/magic b/cpan/Devel-PPPort/parts/inc/magic
index a99cd805f0..bf43a9ccdc 100644
--- a/cpan/Devel-PPPort/parts/inc/magic
+++ b/cpan/Devel-PPPort/parts/inc/magic
@@ -29,13 +29,15 @@ __UNDEFINED__ SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_E
__UNDEFINED__ HEf_SVKEY -2
+#ifndef MUTABLE_PTR
#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
# define MUTABLE_PTR(p) ({ void *_p = (p); _p; })
#else
# define MUTABLE_PTR(p) ((void *) (p))
#endif
+#endif
-#define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p))
+__UNDEFINED__ MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p))
/* end of random bits */
diff --git a/cpan/Devel-PPPort/parts/inc/misc b/cpan/Devel-PPPort/parts/inc/misc
index aedad057d3..181311e5c0 100644
--- a/cpan/Devel-PPPort/parts/inc/misc
+++ b/cpan/Devel-PPPort/parts/inc/misc
@@ -16,6 +16,7 @@ PERL_UNUSED_DECL
PERL_UNUSED_ARG
PERL_UNUSED_VAR
PERL_UNUSED_CONTEXT
+PERL_UNUSED_RESULT
PERL_GCC_BRACE_GROUPS_FORBIDDEN
PERL_USE_GCC_BRACE_GROUPS
PERLIO_FUNCS_DECL
@@ -38,9 +39,51 @@ UTF8_MAXBYTES
WIDEST_UTYPE
XSRETURN
HeUTF8
+C_ARRAY_LENGTH
+C_ARRAY_END
+SvRX
+SvRXOK
+PERL_MAGIC_qr
+cBOOL
+OpHAS_SIBLING
+OpSIBLING
+OpMORESIB_set
+OpLASTSIB_set
+OpMAYBESIB_set
=implementation
+__UNDEFINED__ PERL_MAGIC_qr 'r'
+
+__UNDEFINED__ cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
+__UNDEFINED__ OpHAS_SIBLING(o) (cBOOL((o)->op_sibling))
+__UNDEFINED__ OpSIBLING(o) (0 + (o)->op_sibling)
+__UNDEFINED__ OpMORESIB_set(o, sib) ((o)->op_sibling = (sib))
+__UNDEFINED__ OpLASTSIB_set(o, parent) ((o)->op_sibling = NULL)
+__UNDEFINED__ OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib))
+
+#ifndef SvRX
+#if { NEED SvRX }
+
+void *
+SvRX(pTHX_ SV *rv)
+{
+ if (SvROK(rv)) {
+ SV *sv = SvRV(rv);
+ if (SvMAGICAL(sv)) {
+ MAGIC *mg = mg_find(sv, PERL_MAGIC_qr);
+ if (mg && mg->mg_obj) {
+ return mg->mg_obj;
+ }
+ }
+ }
+ return 0;
+}
+#endif
+#endif
+
+__UNDEFINED__ SvRXOK(sv) (!!SvRX(sv))
+
#ifndef PERL_UNUSED_DECL
# ifdef HASATTRIBUTE
# if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER)
@@ -74,6 +117,14 @@ HeUTF8
# endif
#endif
+#ifndef PERL_UNUSED_RESULT
+# if defined(__GNUC__) && defined(HASATTRIBUTE_WARN_UNUSED_RESULT)
+# define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
+# else
+# define PERL_UNUSED_RESULT(v) ((void)(v))
+# endif
+#endif
+
__UNDEFINED__ NOOP /*EMPTY*/(void)0
__UNDEFINED__ dNOOP extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL
@@ -299,6 +350,9 @@ __UNDEFINED__ HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \
#endif
+__UNDEFINED__ C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0]))
+__UNDEFINED__ C_ARRAY_END(a) ((a) + C_ARRAY_LENGTH(a))
+
=xsmisc
typedef XSPROTO(XSPROTO_test_t);
@@ -333,6 +387,10 @@ XS(XS_Devel__PPPort_dAXMARK)
XSRETURN(1);
}
+=xsinit
+
+#define NEED_SvRX
+
=xsboot
{
@@ -344,6 +402,89 @@ newXS("Devel::PPPort::dAXMARK", XS_Devel__PPPort_dAXMARK, file);
=xsubs
int
+OpSIBLING_tests()
+ PREINIT:
+ OP *x;
+ OP *kid;
+ OP *lastkid;
+ int count = 0;
+ int failures = 0;
+ int i;
+ CODE:
+ x = newOP(OP_PUSHMARK, 0);
+
+ /* No siblings yet! */
+ if (OpHAS_SIBLING(x) || OpSIBLING(x)) {
+ failures++; warn("Op should not have had a sib");
+ }
+
+
+ /* Add 2 siblings */
+ kid = x;
+
+ for (i = 0; i < 2; i++) {
+ OP *newsib = newOP(OP_PUSHMARK, 0);
+ OpMORESIB_set(kid, newsib);
+
+ kid = OpSIBLING(kid);
+ lastkid = kid;
+ }
+
+ /* Should now have a sibling */
+ if (! OpHAS_SIBLING(x) || ! OpSIBLING(x) ) {
+ failures++; warn("Op should have had a sib after moresib_set");
+ }
+
+ /* Count the siblings */
+ for (kid = OpSIBLING(x); kid; kid = OpSIBLING(kid)) {
+ count++;
+ }
+
+ if (count != 2) {
+ failures++; warn("Kid had %d sibs, expected 2", count);
+ }
+
+ if (OpHAS_SIBLING(lastkid) || OpSIBLING(lastkid)) {
+ failures++; warn("Last kid should not have a sib");
+ }
+
+ /* Really sets the parent, and says 'no more siblings' */
+ OpLASTSIB_set(x, lastkid);
+
+ if (OpHAS_SIBLING(x) || OpSIBLING(x)) {
+ failures++; warn("OpLASTSIB_set failed?");
+ }
+
+ /* Restore the kid */
+ OpMORESIB_set(x, lastkid);
+
+ /* Try to remove it again */
+ OpLASTSIB_set(x, NULL);
+
+ if (OpHAS_SIBLING(x) || OpSIBLING(x)) {
+ failures++; warn("OpLASTSIB_set with NULL failed?");
+ }
+
+ /* Try to restore with maybesib_set */
+ OpMAYBESIB_set(x, lastkid, NULL);
+
+ if (! OpHAS_SIBLING(x) || ! OpSIBLING(x) ) {
+ failures++; warn("Op should have had a sib after maybesibset");
+ }
+
+ RETVAL = failures;
+ OUTPUT:
+ RETVAL
+
+int
+SvRXOK(sv)
+ SV *sv
+ CODE:
+ RETVAL = SvRXOK(sv);
+ OUTPUT:
+ RETVAL
+
+int
ptrtests()
PREINIT:
int var, *p = &var;
@@ -521,15 +662,22 @@ check_HeUTF8(utf8_key)
hv_store(hash, key, klen, newSVpvs("string"), 0);
hv_iterinit(hash);
ent = hv_iternext(hash);
- if (ent) {
- mXPUSHp((HeUTF8(ent) == 0 ? "norm" : "utf8"), 4);
- }
+ assert(ent);
+ mXPUSHp((HeUTF8(ent) == 0 ? "norm" : "utf8"), 4);
hv_undef(hash);
#endif
-=tests plan => 41
+void
+check_c_array()
+ PREINIT:
+ int x[] = { 10, 11, 12, 13 };
+ PPCODE:
+ mXPUSHi(C_ARRAY_LENGTH(x)); /* 4 */
+ mXPUSHi(*(C_ARRAY_END(x)-1)); /* 13 */
+
+=tests plan => 48
use vars qw($my_sv @my_av %my_hv);
@@ -540,7 +688,7 @@ $_ = "Fred";
ok(&Devel::PPPort::DEFSV(), "Fred");
ok(&Devel::PPPort::UNDERBAR(), "Fred");
-if ($] >= 5.009002 && $] < 5.023) {
+if ($] >= 5.009002 && $] < 5.023 && $] < 5.023004) {
eval q{
no warnings "deprecated";
no if $^V > v5.17.9, warnings => "experimental::lexical_topic";
@@ -610,6 +758,8 @@ ok(&Devel::PPPort::Perl_ppaddr_t("FOO"), "foo");
ok(&Devel::PPPort::ptrtests(), 63);
+ok(&Devel::PPPort::OpSIBLING_tests(), 0);
+
if ($] >= 5.009000) {
eval q{
ok(&Devel::PPPort::check_HeUTF8("hello"), "norm");
@@ -619,3 +769,19 @@ if ($] >= 5.009000) {
ok(1, 1);
ok(1, 1);
}
+
+@r = &Devel::PPPort::check_c_array();
+ok($r[0], 4);
+ok($r[1], "13");
+
+ok(!Devel::PPPort::SvRXOK(""));
+ok(!Devel::PPPort::SvRXOK(bless [], "Regexp"));
+
+if ($] < 5.005) {
+ skip 'no qr// objects in this perl', 0;
+ skip 'no qr// objects in this perl', 0;
+} else {
+ my $qr = eval 'qr/./';
+ ok(Devel::PPPort::SvRXOK($qr));
+ ok(Devel::PPPort::SvRXOK(bless $qr, "Surprise"));
+}
diff --git a/cpan/Devel-PPPort/parts/inc/variables b/cpan/Devel-PPPort/parts/inc/variables
index 7ae6fabcd5..afa53a6833 100644
--- a/cpan/Devel-PPPort/parts/inc/variables
+++ b/cpan/Devel-PPPort/parts/inc/variables
@@ -167,7 +167,7 @@ __NEED_DUMMY_VAR__ yy_parser PL_parser;
/* PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters, PL_linestr, PL_bufptr, PL_bufend, PL_lex_state, PL_lex_stuff, PL_tokenbuf depends on PL_parser */
/* Warning: PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters, PL_linestr, PL_bufptr, PL_bufend, PL_lex_state, PL_lex_stuff, PL_tokenbuf
* Do not use this variable unless you know exactly what you're
- * doint. It is internal to the perl parser and may change or even
+ * doing. It is internal to the perl parser and may change or even
* be removed in the future. As of perl 5.9.5, you have to check
* for (PL_parser != NULL) for this variable to have any effect.
* An always non-NULL PL_parser dummy is provided for earlier
@@ -222,7 +222,12 @@ extern U32 get_PL_signals_3(void);
int no_dummy_parser_vars(int);
int dummy_parser_warning(void);
-#define ppp_TESTVAR(var) STMT_START { mXPUSHi(&var); count++; } STMT_END
+/* No PTRSIZE IN 5.004 and below, so PTR2IV would warn and possibly misbehave */
+#if { VERSION > 5.004 }
+ #define ppp_TESTVAR(var) STMT_START { mXPUSHi(PTR2IV(&var)); count++; } STMT_END
+#else
+ #define ppp_TESTVAR(var) STMT_START { mXPUSHi(&var); count++; } STMT_END
+#endif
#define ppp_PARSERVAR(type, var) STMT_START { \
type volatile my_ ## var; \
diff --git a/cpan/Devel-PPPort/parts/ppptools.pl b/cpan/Devel-PPPort/parts/ppptools.pl
index 6ea751687b..62e533909d 100644
--- a/cpan/Devel-PPPort/parts/ppptools.pl
+++ b/cpan/Devel-PPPort/parts/ppptools.pl
@@ -28,7 +28,7 @@ sub all_files_in_dir
my @files = grep { !-d && !/^\./ } readdir DIR; # no dirs or hidden files
closedir DIR;
- return map { cat_file($dir, $_) } @files;
+ return map { cat_file($dir, $_) } sort @files;
}
sub parse_todo
diff --git a/cpan/Devel-PPPort/parts/todo/5004000 b/cpan/Devel-PPPort/parts/todo/5004000
index 0fa079ed61..ec87e88f11 100644
--- a/cpan/Devel-PPPort/parts/todo/5004000
+++ b/cpan/Devel-PPPort/parts/todo/5004000
@@ -3,6 +3,7 @@ GIMME_V # E
G_VOID # E
HePV # A
HeSVKEY_set # U
+POPu # E
SvSetMagicSV # U
SvSetMagicSV_nosteal # U
SvSetSV_nosteal # U
diff --git a/cpan/Devel-PPPort/parts/todo/5004050 b/cpan/Devel-PPPort/parts/todo/5004050
index 57937e8013..0f7a1f73fe 100644
--- a/cpan/Devel-PPPort/parts/todo/5004050
+++ b/cpan/Devel-PPPort/parts/todo/5004050
@@ -2,5 +2,6 @@
CopyD # E
MoveD # E
do_binmode # U
+my_bcopy # U
save_aelem # U
save_helem # U
diff --git a/cpan/Devel-PPPort/parts/todo/5006000 b/cpan/Devel-PPPort/parts/todo/5006000
index 17d829f41b..8c8f7df323 100644
--- a/cpan/Devel-PPPort/parts/todo/5006000
+++ b/cpan/Devel-PPPort/parts/todo/5006000
@@ -1,6 +1,8 @@
5.006000
+DO_UTF8 # U
PERL_SYS_INIT3 # U
PL_check # E
+POPul # E
SvIOK_UV # U
SvIOK_notUV # U
SvIOK_only_UV # U
@@ -17,6 +19,7 @@ SvUOK # U
SvUTF8 # U
SvUTF8_off # U
SvUTF8_on # U
+UTF8SKIP # U
av_delete # U
av_exists # U
call_atexit # E
diff --git a/cpan/Devel-PPPort/parts/todo/5007003 b/cpan/Devel-PPPort/parts/todo/5007003
index cc22577c30..c9e1cea6eb 100644
--- a/cpan/Devel-PPPort/parts/todo/5007003
+++ b/cpan/Devel-PPPort/parts/todo/5007003
@@ -49,10 +49,6 @@ sv_nolocking # U
sv_nosharing # U
sv_recode_to_utf8 # U
sv_uni_display # U
-toFOLD_uni # U
-toLOWER_uni # A
-toTITLE_uni # A
-toUPPER_uni # A
to_uni_fold # U
to_uni_lower # E (Perl_to_uni_lower)
to_uni_title # E (Perl_to_uni_title)
diff --git a/cpan/Devel-PPPort/parts/todo/5009005 b/cpan/Devel-PPPort/parts/todo/5009005
index 497ee9117e..a8ee73b1c9 100644
--- a/cpan/Devel-PPPort/parts/todo/5009005
+++ b/cpan/Devel-PPPort/parts/todo/5009005
@@ -1,7 +1,5 @@
5.009005
Perl_signbit # U
-SvRX # U
-SvRXOK # U
av_create_and_push # U
av_create_and_unshift_one # U
gv_fetchfile_flags # U
diff --git a/cpan/Devel-PPPort/parts/todo/5015004 b/cpan/Devel-PPPort/parts/todo/5015004
index cce4634018..d92eabc673 100644
--- a/cpan/Devel-PPPort/parts/todo/5015004
+++ b/cpan/Devel-PPPort/parts/todo/5015004
@@ -16,7 +16,6 @@ gv_fetchmethod_pv_flags # U
gv_fetchmethod_pvn_flags # U
gv_fetchmethod_sv_flags # U
gv_init_pv # U
-gv_init_pvn # U
gv_init_sv # U
newGVgen_flags # U
sv_derived_from_pv # U
@@ -25,6 +24,7 @@ sv_derived_from_sv # U
sv_does_pv # U
sv_does_pvn # U
sv_does_sv # U
+sv_ref # U
whichsig_pv # U
whichsig_pvn # U
whichsig_sv # U
diff --git a/cpan/Devel-PPPort/parts/todo/5020002 b/cpan/Devel-PPPort/parts/todo/5020002
new file mode 100644
index 0000000000..e31c0d0f49
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5020002
@@ -0,0 +1 @@
+5.020002
diff --git a/cpan/Devel-PPPort/parts/todo/5020003 b/cpan/Devel-PPPort/parts/todo/5020003
new file mode 100644
index 0000000000..89ec61981a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5020003
@@ -0,0 +1 @@
+5.020003
diff --git a/cpan/Devel-PPPort/parts/todo/5021002 b/cpan/Devel-PPPort/parts/todo/5021002
index 1e17e3d19b..abe5ac1246 100644
--- a/cpan/Devel-PPPort/parts/todo/5021002
+++ b/cpan/Devel-PPPort/parts/todo/5021002
@@ -1,4 +1,3 @@
5.021002
grok_number_flags # U
-op_parent # U
op_sibling_splice # U
diff --git a/cpan/Devel-PPPort/parts/todo/5021007 b/cpan/Devel-PPPort/parts/todo/5021007
index 03c81e0cc8..6b8b9ba707 100644
--- a/cpan/Devel-PPPort/parts/todo/5021007
+++ b/cpan/Devel-PPPort/parts/todo/5021007
@@ -1,7 +1,4 @@
5.021007
-OpHAS_SIBLING # U
-OpSIBLING # U
-OpSIBLING_set # U
PadnameUTF8 # E
is_invariant_string # U
newPADNAMELIST # U
diff --git a/cpan/Devel-PPPort/parts/todo/5021008 b/cpan/Devel-PPPort/parts/todo/5021008
index 3d727244f8..ccba00cb34 100644
--- a/cpan/Devel-PPPort/parts/todo/5021008
+++ b/cpan/Devel-PPPort/parts/todo/5021008
@@ -1,43 +1,2 @@
5.021008
-BhkDISABLE # E
-BhkENABLE # E
-BhkENTRY_set # E
-MULTICALL # E
-PERL_SYS_TERM # E
-POP_MULTICALL # E
-PUSH_MULTICALL # E
-PadARRAY # E
-PadMAX # E
-PadlistARRAY # E
-PadlistMAX # E
-PadlistNAMES # E
-PadlistNAMESARRAY # E
-PadlistNAMESMAX # E
-PadnameLEN # E
-PadnamePV # E
-PadnameREFCNT # E
-PadnameREFCNT_dec # E
-PadnameSV # E
-PadnamelistARRAY # E
-PadnamelistMAX # E
-PadnamelistREFCNT # E
-PadnamelistREFCNT_dec # E
-XS_APIVERSION_BOOTCHECK # E
-XS_EXTERNAL # E
-XS_INTERNAL # E
-XS_VERSION_BOOTCHECK # E
-XopDISABLE # E
-XopENABLE # E
-XopENTRY # E
-XopENTRYCUSTOM # E
-XopENTRY_set # E
-cophh_new_empty # E
-my_lstat # U (Perl_my_lstat)
-my_stat # U (Perl_my_stat)
-reentrant_free # U
-reentrant_init # U
-reentrant_retry # U
-reentrant_size # U
-ref # U (Perl_ref)
sv_get_backrefs # U
-sv_setref_pvs # A
diff --git a/cpan/Devel-PPPort/parts/todo/5021009 b/cpan/Devel-PPPort/parts/todo/5021009
new file mode 100644
index 0000000000..7397722a25
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5021009
@@ -0,0 +1 @@
+5.021009
diff --git a/cpan/Devel-PPPort/parts/todo/5021010 b/cpan/Devel-PPPort/parts/todo/5021010
new file mode 100644
index 0000000000..821a8fb629
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5021010
@@ -0,0 +1,2 @@
+5.021010
+DECLARATION_FOR_LC_NUMERIC_MANIPULATION # E
diff --git a/cpan/Devel-PPPort/parts/todo/5021011 b/cpan/Devel-PPPort/parts/todo/5021011
new file mode 100644
index 0000000000..22e7302154
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5021011
@@ -0,0 +1 @@
+5.021011
diff --git a/cpan/Devel-PPPort/parts/todo/5022000 b/cpan/Devel-PPPort/parts/todo/5022000
new file mode 100644
index 0000000000..aca319e5cd
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5022000
@@ -0,0 +1,2 @@
+5.022000
+UVCHR_SKIP # U
diff --git a/cpan/Devel-PPPort/parts/todo/5022001 b/cpan/Devel-PPPort/parts/todo/5022001
new file mode 100644
index 0000000000..28befba2cd
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5022001
@@ -0,0 +1 @@
+5.022001
diff --git a/cpan/Devel-PPPort/parts/todo/5023000 b/cpan/Devel-PPPort/parts/todo/5023000
new file mode 100644
index 0000000000..e461a32669
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5023000
@@ -0,0 +1 @@
+5.023000
diff --git a/cpan/Devel-PPPort/parts/todo/5023001 b/cpan/Devel-PPPort/parts/todo/5023001
new file mode 100644
index 0000000000..ea44212d3c
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5023001
@@ -0,0 +1 @@
+5.023001
diff --git a/cpan/Devel-PPPort/parts/todo/5023002 b/cpan/Devel-PPPort/parts/todo/5023002
new file mode 100644
index 0000000000..2060466c2a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5023002
@@ -0,0 +1 @@
+5.023002
diff --git a/cpan/Devel-PPPort/parts/todo/5023003 b/cpan/Devel-PPPort/parts/todo/5023003
new file mode 100644
index 0000000000..4b19a2410a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5023003
@@ -0,0 +1 @@
+5.023003
diff --git a/cpan/Devel-PPPort/parts/todo/5023004 b/cpan/Devel-PPPort/parts/todo/5023004
new file mode 100644
index 0000000000..ce60a67e7a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5023004
@@ -0,0 +1 @@
+5.023004
diff --git a/cpan/Devel-PPPort/parts/todo/5023005 b/cpan/Devel-PPPort/parts/todo/5023005
new file mode 100644
index 0000000000..1b8818c372
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5023005
@@ -0,0 +1 @@
+5.023005
diff --git a/cpan/Devel-PPPort/parts/todo/5023006 b/cpan/Devel-PPPort/parts/todo/5023006
new file mode 100644
index 0000000000..f6c59949af
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5023006
@@ -0,0 +1 @@
+5.023006
diff --git a/cpan/Devel-PPPort/parts/todo/5023007 b/cpan/Devel-PPPort/parts/todo/5023007
new file mode 100644
index 0000000000..fb7c55335d
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5023007
@@ -0,0 +1 @@
+5.023007
diff --git a/cpan/Devel-PPPort/parts/todo/5023008 b/cpan/Devel-PPPort/parts/todo/5023008
new file mode 100644
index 0000000000..ed2ef6d2eb
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5023008
@@ -0,0 +1,22 @@
+5.023008
+clear_defarray # U
+cx_popblock # U
+cx_popeval # U
+cx_popformat # U
+cx_popgiven # U
+cx_poploop # U
+cx_popsub # U
+cx_popsub_args # U
+cx_popsub_common # U
+cx_popwhen # U
+cx_pushblock # U
+cx_pusheval # U
+cx_pushformat # U
+cx_pushgiven # U
+cx_pushloop_for # U
+cx_pushloop_plain # U
+cx_pushsub # U
+cx_pushwhen # U
+cx_topblock # U
+leave_adjust_stacks # U
+savetmps # U
diff --git a/cpan/Devel-PPPort/parts/todo/5023009 b/cpan/Devel-PPPort/parts/todo/5023009
new file mode 100644
index 0000000000..336b09a3ee
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5023009
@@ -0,0 +1,5 @@
+5.023009
+toFOLD_uvchr # U
+toLOWER_uvchr # U
+toTITLE_uvchr # U
+toUPPER_uvchr # U
diff --git a/cpan/Devel-PPPort/parts/todo/5024000 b/cpan/Devel-PPPort/parts/todo/5024000
new file mode 100644
index 0000000000..6a5e2484a1
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5024000
@@ -0,0 +1,45 @@
+5.024000
+BhkDISABLE # E
+BhkENABLE # E
+BhkENTRY_set # E
+MULTICALL # E
+PERL_SYS_TERM # E
+POP_MULTICALL # E
+PUSH_MULTICALL # E
+PadARRAY # E
+PadMAX # E
+PadlistARRAY # E
+PadlistMAX # E
+PadlistNAMES # E
+PadlistNAMESARRAY # E
+PadlistNAMESMAX # E
+PadnameLEN # E
+PadnamePV # E
+PadnameREFCNT # E
+PadnameREFCNT_dec # E
+PadnameSV # E
+PadnamelistARRAY # E
+PadnamelistMAX # E
+PadnamelistREFCNT # E
+PadnamelistREFCNT_dec # E
+RESTORE_LC_NUMERIC # E
+STORE_LC_NUMERIC_FORCE_TO_UNDERLYING # E
+STORE_LC_NUMERIC_SET_TO_NEEDED # E
+XS_APIVERSION_BOOTCHECK # E
+XS_EXTERNAL # E
+XS_INTERNAL # E
+XS_VERSION_BOOTCHECK # E
+XopDISABLE # E
+XopENABLE # E
+XopENTRY # E
+XopENTRYCUSTOM # E
+XopENTRY_set # E
+cophh_new_empty # E
+my_lstat # U (Perl_my_lstat)
+my_stat # U (Perl_my_stat)
+reentrant_free # U
+reentrant_init # U
+reentrant_retry # U
+reentrant_size # U
+ref # U (Perl_ref)
+sv_setref_pvs # A
diff --git a/cpan/Devel-PPPort/soak b/cpan/Devel-PPPort/soak
index c229ed7462..7473d7784c 100644
--- a/cpan/Devel-PPPort/soak
+++ b/cpan/Devel-PPPort/soak
@@ -27,7 +27,7 @@ use File::Find;
use List::Util qw(max);
use Config;
-my $VERSION = '3.32';
+my $VERSION = '3.35';
$| = 1;
my %OPT = (
diff --git a/cpan/Devel-PPPort/t/gv.t b/cpan/Devel-PPPort/t/gv.t
index 66722f27a0..06dfed1b54 100644
--- a/cpan/Devel-PPPort/t/gv.t
+++ b/cpan/Devel-PPPort/t/gv.t
@@ -30,9 +30,9 @@ BEGIN {
require 'testutil.pl' if $@;
}
- if (5) {
+ if (7) {
load();
- plan(tests => 5);
+ plan(tests => 7);
}
}
@@ -58,3 +58,6 @@ ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
ok(Devel::PPPort::gv_fetchsv("Devel::PPPort::VERSION"), \*Devel::PPPort::VERSION);
+ok(Devel::PPPort::gv_init_type("sanity_check", 0, 0), "*main::sanity_check");
+ok($::{sanity_check});
+
diff --git a/cpan/Devel-PPPort/t/misc.t b/cpan/Devel-PPPort/t/misc.t
index 5f7f7b646e..0c4f027380 100644
--- a/cpan/Devel-PPPort/t/misc.t
+++ b/cpan/Devel-PPPort/t/misc.t
@@ -30,9 +30,9 @@ BEGIN {
require 'testutil.pl' if $@;
}
- if (41) {
+ if (48) {
load();
- plan(tests => 41);
+ plan(tests => 48);
}
}
@@ -57,7 +57,7 @@ $_ = "Fred";
ok(&Devel::PPPort::DEFSV(), "Fred");
ok(&Devel::PPPort::UNDERBAR(), "Fred");
-if ($] >= 5.009002 && $] < 5.023) {
+if ($] >= 5.009002 && $] < 5.023 && $] < 5.023004) {
eval q{
no warnings "deprecated";
no if $^V > v5.17.9, warnings => "experimental::lexical_topic";
@@ -127,6 +127,8 @@ ok(&Devel::PPPort::Perl_ppaddr_t("FOO"), "foo");
ok(&Devel::PPPort::ptrtests(), 63);
+ok(&Devel::PPPort::OpSIBLING_tests(), 0);
+
if ($] >= 5.009000) {
eval q{
ok(&Devel::PPPort::check_HeUTF8("hello"), "norm");
@@ -137,3 +139,19 @@ if ($] >= 5.009000) {
ok(1, 1);
}
+@r = &Devel::PPPort::check_c_array();
+ok($r[0], 4);
+ok($r[1], "13");
+
+ok(!Devel::PPPort::SvRXOK(""));
+ok(!Devel::PPPort::SvRXOK(bless [], "Regexp"));
+
+if ($] < 5.005) {
+ skip 'no qr// objects in this perl', 0;
+ skip 'no qr// objects in this perl', 0;
+} else {
+ my $qr = eval 'qr/./';
+ ok(Devel::PPPort::SvRXOK($qr));
+ ok(Devel::PPPort::SvRXOK(bless $qr, "Surprise"));
+}
+