From 5b78c98efc196a63c96d9f7c21bc3142b03e309c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppi...@redhat.com> Date: Thu, 18 May 2017 15:10:30 +0200 Subject: Restore compatibility with Perl 5.26.0
--- perl-smartmatch.spec | 9 +- ...ch-0.05-TRIAL-Fix-building-on-Perl-5.25.1.patch | 3719 ++++++++++++++++++++ 2 files changed, 3727 insertions(+), 1 deletion(-) create mode 100644 smartmatch-0.05-TRIAL-Fix-building-on-Perl-5.25.1.patch diff --git a/perl-smartmatch.spec b/perl-smartmatch.spec index b795d42..368566c 100644 --- a/perl-smartmatch.spec +++ b/perl-smartmatch.spec @@ -1,12 +1,15 @@ # This file is licensed under the terms of GNU GPLv2+ Name: perl-smartmatch Version: 0.05 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Pluggable smart matching back-ends License: GPL+ or Artistic Group: Development/Libraries URL: http://search.cpan.org/dist/smartmatch/ Source0: http://search.cpan.org/CPAN/authors/id/D/DO/DOY/smartmatch-%{version}-TRIAL.tar.gz +# Restore compatibility with Perl 5.26.0, +# <https://github.com/tokuhirom/B-Tap/issues/4> +Patch0: smartmatch-0.05-TRIAL-Fix-building-on-Perl-5.25.1.patch BuildRequires: perl BuildRequires: perl-devel BuildRequires: perl-generators @@ -43,6 +46,7 @@ result. %prep %setup -q -n smartmatch-%{version} +%patch0 -p1 %build perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS" @@ -64,6 +68,9 @@ make test %{_mandir}/man3/* %changelog +* Thu May 18 2017 Petr Pisar <ppi...@redhat.com> - 0.05-7 +- Restore compatibility with Perl 5.26.0 + * Sat Feb 11 2017 Fedora Release Engineering <rel...@fedoraproject.org> - 0.05-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/smartmatch-0.05-TRIAL-Fix-building-on-Perl-5.25.1.patch b/smartmatch-0.05-TRIAL-Fix-building-on-Perl-5.25.1.patch new file mode 100644 index 0000000..b046b78 --- /dev/null +++ b/smartmatch-0.05-TRIAL-Fix-building-on-Perl-5.25.1.patch @@ -0,0 +1,3719 @@ +From 15f9966befdbcd95b34df6242967f84985b95bb0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppi...@redhat.com> +Date: Thu, 18 May 2017 15:00:43 +0200 +Subject: [PATCH] Fix building on Perl 5.25.1 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +v5.25.0-71-g5d32d26 enabled PERL_OP_PARENT and that changed op_sibling +semantics for last sibling OP. + +As discused in +<https://rt.perl.org/Public/Bug/Display.html?id=128179#txn-1405910>, +updating ppport.h with Devel::PPPort 3.33 and converting the XS code +to use OpSIBLING() helps. + +This patch updates ppport.h to 3.36 version and adjusts the XS code. + +https://github.com/tokuhirom/B-Tap/issues/4 +Signed-off-by: Petr Písař <ppi...@redhat.com> +--- + ppport.h | 1967 +++++++++++++++++++++++++++++++++++++++++---------------- + smartmatch.xs | 2 +- + 2 files changed, 1407 insertions(+), 562 deletions(-) + +diff --git a/ppport.h b/ppport.h +index 4c042bb..68ec473 100644 +--- a/ppport.h ++++ b/ppport.h +@@ -4,9 +4,9 @@ + /* + ---------------------------------------------------------------------- + +- ppport.h -- Perl/Pollution/Portability Version 3.19 ++ ppport.h -- Perl/Pollution/Portability Version 3.36 + +- Automatically created by Devel::PPPort running under perl 5.014000. ++ Automatically created by Devel::PPPort running under perl 5.026000. + + Do NOT edit this file directly! -- Edit PPPort_pm.PL and the + includes in parts/inc/ instead. +@@ -21,7 +21,7 @@ SKIP + + =head1 NAME + +-ppport.h - Perl/Pollution/Portability version 3.19 ++ppport.h - Perl/Pollution/Portability version 3.36 + + =head1 SYNOPSIS + +@@ -56,7 +56,7 @@ ppport.h - Perl/Pollution/Portability version 3.19 + =head1 COMPATIBILITY + + This version of F<ppport.h> is designed to support operation with Perl +-installations back to 5.003, and has been tested up to 5.10.0. ++installations back to 5.003, and has been tested up to 5.20. + + =head1 OPTIONS + +@@ -79,7 +79,7 @@ to be installed on your system. + If this option is given, a copy of each file will be saved with + the given suffix that contains the suggested changes. This does + not require any external programs. Note that this does not +-automagially add a dot between the original filename and the ++automagically add a dot between the original filename and the + suffix. If you want the dot, you have to include it in the option + argument. + +@@ -219,13 +219,17 @@ same function or variable in your project. + ----------------------------------------------------------------------------------------- + PL_parser NEED_PL_parser NEED_PL_parser_GLOBAL + PL_signals NEED_PL_signals NEED_PL_signals_GLOBAL ++ SvRX() NEED_SvRX NEED_SvRX_GLOBAL ++ caller_cx() NEED_caller_cx NEED_caller_cx_GLOBAL + eval_pv() NEED_eval_pv NEED_eval_pv_GLOBAL + grok_bin() NEED_grok_bin NEED_grok_bin_GLOBAL + grok_hex() NEED_grok_hex NEED_grok_hex_GLOBAL + grok_number() NEED_grok_number NEED_grok_number_GLOBAL + grok_numeric_radix() NEED_grok_numeric_radix NEED_grok_numeric_radix_GLOBAL + grok_oct() NEED_grok_oct NEED_grok_oct_GLOBAL ++ gv_fetchpvn_flags() NEED_gv_fetchpvn_flags NEED_gv_fetchpvn_flags_GLOBAL + load_module() NEED_load_module NEED_load_module_GLOBAL ++ mg_findext() NEED_mg_findext NEED_mg_findext_GLOBAL + my_snprintf() NEED_my_snprintf NEED_my_snprintf_GLOBAL + my_sprintf() NEED_my_sprintf NEED_my_sprintf_GLOBAL + my_strlcat() NEED_my_strlcat NEED_my_strlcat_GLOBAL +@@ -245,6 +249,7 @@ same function or variable in your project. + sv_pvn_force_flags() NEED_sv_pvn_force_flags NEED_sv_pvn_force_flags_GLOBAL + sv_setpvf_mg() NEED_sv_setpvf_mg NEED_sv_setpvf_mg_GLOBAL + sv_setpvf_mg_nocontext() NEED_sv_setpvf_mg_nocontext NEED_sv_setpvf_mg_nocontext_GLOBAL ++ sv_unmagicext() NEED_sv_unmagicext NEED_sv_unmagicext_GLOBAL + vload_module() NEED_vload_module NEED_vload_module_GLOBAL + vnewSVpvf() NEED_vnewSVpvf NEED_vnewSVpvf_GLOBAL + warner() NEED_warner NEED_warner_GLOBAL +@@ -325,7 +330,7 @@ before sending a bug report. + + If F<ppport.h> was generated using the latest version of + C<Devel::PPPort> and is causing failure of this module, please +-file a bug report using the CPAN Request Tracker at L<http://rt.cpan.org/>. ++file a bug report here: L<https://github.com/mhx/Devel-PPPort/issues/> + + Please include the following information: + +@@ -358,7 +363,7 @@ module from CPAN. + + =head1 COPYRIGHT + +-Version 3.x, Copyright (c) 2004-2009, Marcus Holland-Moritz. ++Version 3.x, Copyright (c) 2004-2013, Marcus Holland-Moritz. + + Version 2.x, Copyright (C) 2001, Paul Marquess. + +@@ -378,7 +383,7 @@ use strict; + # Disable broken TRIE-optimization + BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if $] >= 5.009004 && $] <= 5.009005 } + +-my $VERSION = 3.19; ++my $VERSION = 3.36; + + my %opt = ( + quiet => 0, +@@ -445,12 +450,21 @@ my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/ + (index($4, 'n') >= 0 ? ( nothxarg => 1 ) : ()), + } ) + : die "invalid spec: $_" } qw( ++ASCII_TO_NEED||5.007001|n + AvFILLp|5.004050||p + AvFILL||| ++BhkDISABLE||5.024000| ++BhkENABLE||5.024000| ++BhkENTRY_set||5.024000| ++BhkENTRY||| ++BhkFLAGS||| ++CALL_BLOCK_HOOKS||| + CLASS|||n + CPERLscope|5.005000||p + CX_CURPAD_SAVE||| + CX_CURPAD_SV||| ++C_ARRAY_END|5.013002||p ++C_ARRAY_LENGTH|5.008001||p + CopFILEAV|5.006000||p + CopFILEGV_set|5.006000||p + CopFILEGV|5.006000||p +@@ -462,13 +476,15 @@ CopSTASHPV|5.006000||p + CopSTASH_eq|5.006000||p + CopSTASH_set|5.006000||p + CopSTASH|5.006000||p +-CopyD|5.009002||p ++CopyD|5.009002|5.004050|p + Copy||| +-CvPADLIST||| ++CvPADLIST||5.008001| + CvSTASH||| + CvWEAKOUTSIDE||| +-DEFSV_set|5.011000||p ++DECLARATION_FOR_LC_NUMERIC_MANIPULATION||5.021010|n ++DEFSV_set|5.010001||p + DEFSV|5.004050||p ++DO_UTF8||5.006000| + END_EXTERN_C|5.005000||p + ENTER||| + ERRSV|5.004050||p +@@ -487,20 +503,27 @@ G_NOARGS||| + G_SCALAR||| + G_VOID||5.004000| + GetVars||| +-GvSVn|5.009003||p ++GvAV||| ++GvCV||| ++GvHV||| + GvSV||| +-Gv_AMupdate||| +-HEf_SVKEY||5.004000| +-HeHASH||5.004000| +-HeKEY||5.004000| +-HeKLEN||5.004000| ++Gv_AMupdate||5.011000| ++HEf_SVKEY|5.003070||p ++HeHASH||5.003070| ++HeKEY||5.003070| ++HeKLEN||5.003070| + HePV||5.004000| +-HeSVKEY_force||5.004000| ++HeSVKEY_force||5.003070| + HeSVKEY_set||5.004000| +-HeSVKEY||5.004000| +-HeUTF8||5.011000| +-HeVAL||5.004000| ++HeSVKEY||5.003070| ++HeUTF8|5.010001|5.008000|p ++HeVAL||5.003070| ++HvENAMELEN||5.015004| ++HvENAMEUTF8||5.015004| ++HvENAME||5.013007| + HvNAMELEN_get|5.009003||p ++HvNAMELEN||5.015004| ++HvNAMEUTF8||5.015004| + HvNAME_get|5.009003||p + HvNAME||| + INT2PTR|5.006000||p +@@ -518,14 +541,18 @@ IVSIZE|5.006000||p + IVTYPE|5.006000||p + IVdf|5.006000||p + LEAVE||| ++LINKLIST||5.013006| + LVRET||| + MARK||| +-MULTICALL||5.011000| ++MULTICALL||5.024000| ++MUTABLE_PTR|5.010001||p ++MUTABLE_SV|5.010001||p + MY_CXT_CLONE|5.009002||p + MY_CXT_INIT|5.007003||p + MY_CXT|5.007003||p +-MoveD|5.009002||p ++MoveD|5.009002|5.004050|p + Move||| ++NATIVE_TO_NEED||5.007001|n + NOOP|5.005000||p + NUM2PTR|5.006000||p + NVTYPE|5.006000||p +@@ -540,7 +567,17 @@ Nullch||| + Nullcv||| + Nullhv||| + Nullsv||| ++OP_CLASS||5.013007| ++OP_DESC||5.007003| ++OP_NAME||5.007003| ++OP_TYPE_IS_OR_WAS||5.019010| ++OP_TYPE_IS||5.019007| + ORIGMARK||| ++OpHAS_SIBLING|5.021007||p ++OpLASTSIB_set|5.021011||p ++OpMAYBESIB_set|5.021011||p ++OpMORESIB_set|5.021011||p ++OpSIBLING|5.021007||p + PAD_BASE_SV||| + PAD_CLONE_VARS||| + PAD_COMPNAME_FLAGS||| +@@ -549,7 +586,6 @@ PAD_COMPNAME_GEN||| + PAD_COMPNAME_OURSTASH||| + PAD_COMPNAME_PV||| + PAD_COMPNAME_TYPE||| +-PAD_DUP||| + PAD_RESTORE_LOCAL||| + PAD_SAVE_LOCAL||| + PAD_SAVE_SETNULLPAD||| +@@ -561,13 +597,13 @@ PAD_SV||| + PERLIO_FUNCS_CAST|5.009003||p + PERLIO_FUNCS_DECL|5.009003||p + PERL_ABS|5.008001||p +-PERL_BCDVERSION|5.011000||p ++PERL_BCDVERSION|5.024000||p + PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p +-PERL_HASH|5.004000||p +-PERL_INT_MAX|5.004000||p +-PERL_INT_MIN|5.004000||p +-PERL_LONG_MAX|5.004000||p +-PERL_LONG_MIN|5.004000||p ++PERL_HASH|5.003070||p ++PERL_INT_MAX|5.003070||p ++PERL_INT_MIN|5.003070||p ++PERL_LONG_MAX|5.003070||p ++PERL_LONG_MIN|5.003070||p + PERL_MAGIC_arylen|5.007002||p + PERL_MAGIC_backref|5.007002||p + PERL_MAGIC_bm|5.007002||p +@@ -579,14 +615,14 @@ PERL_MAGIC_envelem|5.007002||p + PERL_MAGIC_env|5.007002||p + PERL_MAGIC_ext|5.007002||p + PERL_MAGIC_fm|5.007002||p +-PERL_MAGIC_glob|5.011000||p ++PERL_MAGIC_glob|5.024000||p + PERL_MAGIC_isaelem|5.007002||p + PERL_MAGIC_isa|5.007002||p +-PERL_MAGIC_mutex|5.011000||p ++PERL_MAGIC_mutex|5.024000||p + PERL_MAGIC_nkeys|5.007002||p +-PERL_MAGIC_overload_elem|5.007002||p ++PERL_MAGIC_overload_elem|5.024000||p + PERL_MAGIC_overload_table|5.007002||p +-PERL_MAGIC_overload|5.007002||p ++PERL_MAGIC_overload|5.024000||p + PERL_MAGIC_pos|5.007002||p + PERL_MAGIC_qr|5.007002||p + PERL_MAGIC_regdata|5.007002||p +@@ -621,46 +657,51 @@ PERL_PV_PRETTY_LTGT|5.009004||p + PERL_PV_PRETTY_NOCLEAR|5.010000||p + PERL_PV_PRETTY_QUOTE|5.009004||p + PERL_PV_PRETTY_REGPROP|5.009004||p +-PERL_QUAD_MAX|5.004000||p +-PERL_QUAD_MIN|5.004000||p ++PERL_QUAD_MAX|5.003070||p ++PERL_QUAD_MIN|5.003070||p + PERL_REVISION|5.006000||p + PERL_SCAN_ALLOW_UNDERSCORES|5.007003||p + PERL_SCAN_DISALLOW_PREFIX|5.007003||p + PERL_SCAN_GREATER_THAN_UV_MAX|5.007003||p + PERL_SCAN_SILENT_ILLDIGIT|5.008001||p +-PERL_SHORT_MAX|5.004000||p +-PERL_SHORT_MIN|5.004000||p ++PERL_SHORT_MAX|5.003070||p ++PERL_SHORT_MIN|5.003070||p + PERL_SIGNALS_UNSAFE_FLAG|5.008001||p + PERL_SUBVERSION|5.006000||p + PERL_SYS_INIT3||5.006000| + PERL_SYS_INIT||| +-PERL_SYS_TERM||5.011000| +-PERL_UCHAR_MAX|5.004000||p +-PERL_UCHAR_MIN|5.004000||p +-PERL_UINT_MAX|5.004000||p +-PERL_UINT_MIN|5.004000||p +-PERL_ULONG_MAX|5.004000||p +-PERL_ULONG_MIN|5.004000||p ++PERL_SYS_TERM||5.024000| ++PERL_UCHAR_MAX|5.003070||p ++PERL_UCHAR_MIN|5.003070||p ++PERL_UINT_MAX|5.003070||p ++PERL_UINT_MIN|5.003070||p ++PERL_ULONG_MAX|5.003070||p ++PERL_ULONG_MIN|5.003070||p + PERL_UNUSED_ARG|5.009003||p + PERL_UNUSED_CONTEXT|5.009004||p + PERL_UNUSED_DECL|5.007002||p ++PERL_UNUSED_RESULT|5.021001||p + PERL_UNUSED_VAR|5.007002||p +-PERL_UQUAD_MAX|5.004000||p +-PERL_UQUAD_MIN|5.004000||p ++PERL_UQUAD_MAX|5.003070||p ++PERL_UQUAD_MIN|5.003070||p + PERL_USE_GCC_BRACE_GROUPS|5.009004||p +-PERL_USHORT_MAX|5.004000||p +-PERL_USHORT_MIN|5.004000||p ++PERL_USHORT_MAX|5.003070||p ++PERL_USHORT_MIN|5.003070||p + PERL_VERSION|5.006000||p + PL_DBsignal|5.005000||p + PL_DBsingle|||pn + PL_DBsub|||pn + PL_DBtrace|||pn + PL_Sv|5.005000||p +-PL_bufend|5.011000||p +-PL_bufptr|5.011000||p ++PL_bufend|5.024000||p ++PL_bufptr|5.024000||p ++PL_check||5.006000| + PL_compiling|5.004050||p +-PL_copline|5.011000||p ++PL_comppad_name||5.017004| ++PL_comppad||5.008001| ++PL_copline|5.024000||p + PL_curcop|5.004050||p ++PL_curpad||5.005000| + PL_curstash|5.004050||p + PL_debstash|5.004050||p + PL_defgv|5.004050||p +@@ -668,27 +709,31 @@ PL_diehook|5.004050||p + PL_dirty|5.004050||p + PL_dowarn|||pn + PL_errgv|5.004050||p +-PL_error_count|5.011000||p +-PL_expect|5.011000||p ++PL_error_count|5.024000||p ++PL_expect|5.024000||p + PL_hexdigit|5.005000||p + PL_hints|5.005000||p +-PL_in_my_stash|5.011000||p +-PL_in_my|5.011000||p ++PL_in_my_stash|5.024000||p ++PL_in_my|5.024000||p ++PL_keyword_plugin||5.011002| + PL_last_in_gv|||n + PL_laststatval|5.005000||p +-PL_lex_state|5.011000||p +-PL_lex_stuff|5.011000||p +-PL_linestr|5.011000||p ++PL_lex_state|5.024000||p ++PL_lex_stuff|5.024000||p ++PL_linestr|5.024000||p + PL_modglobal||5.005000|n + PL_na|5.004050||pn + PL_no_modify|5.006000||p + PL_ofsgv|||n ++PL_opfreehook||5.011000|n + PL_parser|5.009005||p ++PL_peepp||5.007003|n + PL_perl_destruct_level|5.004050||p + PL_perldb|5.004050||p + PL_ppaddr|5.006000||p +-PL_rsfp_filters|5.004050||p +-PL_rsfp|5.004050||p ++PL_rpeepp||5.013005|n ++PL_rsfp_filters|5.024000||p ++PL_rsfp|5.024000||p + PL_rs|||n + PL_signals|5.008001||p + PL_stack_base|5.004050||p +@@ -701,8 +746,8 @@ PL_sv_undef|5.004050||pn + PL_sv_yes|5.004050||pn + PL_tainted|5.004050||p + PL_tainting|5.004050||p +-PL_tokenbuf|5.011000||p +-POP_MULTICALL||5.011000| ++PL_tokenbuf|5.024000||p ++POP_MULTICALL||5.024000| + POPi|||n + POPl|||n + POPn|||n +@@ -710,6 +755,8 @@ POPpbytex||5.007001|n + POPpx||5.005030|n + POPp|||n + POPs|||n ++POPul||5.006000|n ++POPu||5.004000|n + PTR2IV|5.006000||p + PTR2NV|5.006000||p + PTR2UV|5.006000||p +@@ -717,7 +764,7 @@ PTR2nat|5.009003||p + PTR2ul|5.007001||p + PTRV|5.006000||p + PUSHMARK||| +-PUSH_MULTICALL||5.011000| ++PUSH_MULTICALL||5.024000| + PUSHi||| + PUSHmortal|5.009002||p + PUSHn||| +@@ -725,6 +772,29 @@ PUSHp||| + PUSHs||| + PUSHu|5.004000||p + PUTBACK||| ++PadARRAY||5.024000| ++PadMAX||5.024000| ++PadlistARRAY||5.024000| ++PadlistMAX||5.024000| ++PadlistNAMESARRAY||5.024000| ++PadlistNAMESMAX||5.024000| ++PadlistNAMES||5.024000| ++PadlistREFCNT||5.017004| ++PadnameIsOUR||| ++PadnameIsSTATE||| ++PadnameLEN||5.024000| ++PadnameOURSTASH||| ++PadnameOUTER||| ++PadnamePV||5.024000| ++PadnameREFCNT_dec||5.024000| ++PadnameREFCNT||5.024000| ++PadnameSV||5.024000| ++PadnameTYPE||| ++PadnameUTF8||5.021007| ++PadnamelistARRAY||5.024000| ++PadnamelistMAX||5.024000| ++PadnamelistREFCNT_dec||5.024000| ++PadnamelistREFCNT||5.024000| + PerlIO_clearerr||5.007003| + PerlIO_close||5.007003| + PerlIO_context_layers||5.009004| +@@ -738,6 +808,8 @@ PerlIO_get_bufsiz||5.007003| + PerlIO_get_cnt||5.007003| + PerlIO_get_ptr||5.007003| + PerlIO_read||5.007003| ++PerlIO_restore_errno||| ++PerlIO_save_errno||| + PerlIO_seek||5.007003| + PerlIO_set_cnt||5.007003| + PerlIO_set_ptrcnt||5.007003| +@@ -753,6 +825,8 @@ PoisonFree|5.009004||p + PoisonNew|5.009004||p + PoisonWith|5.009004||p + Poison|5.008000||p ++READ_XDIGIT||5.017006| ++RESTORE_LC_NUMERIC||5.024000| + RETVAL|||n + Renewc||| + Renew||| +@@ -767,6 +841,8 @@ START_EXTERN_C|5.005000||p + START_MY_CXT|5.007003||p + STMT_END|||p + STMT_START|||p ++STORE_LC_NUMERIC_FORCE_TO_UNDERLYING||5.024000| ++STORE_LC_NUMERIC_SET_TO_NEEDED||5.024000| + STR_WITH_LEN|5.009003||p + ST||| + SV_CONST_RETURN|5.009003||p +@@ -782,16 +858,26 @@ SV_UTF8_NO_ENCODING|5.008001||p + SVfARG|5.009005||p + SVf_UTF8|5.006000||p + SVf|5.006000||p ++SVt_INVLIST||5.019002| + SVt_IV||| ++SVt_NULL||| + SVt_NV||| + SVt_PVAV||| + SVt_PVCV||| ++SVt_PVFM||| ++SVt_PVGV||| + SVt_PVHV||| ++SVt_PVIO||| ++SVt_PVIV||| ++SVt_PVLV||| + SVt_PVMG||| ++SVt_PVNV||| + SVt_PV||| ++SVt_REGEXP||5.011000| + Safefree||| + Slab_Alloc||| + Slab_Free||| ++Slab_to_ro||| + Slab_to_rw||| + StructCopy||| + SvCUR_set||| +@@ -828,6 +914,7 @@ SvNOK_on||| + SvNOKp||| + SvNOK||| + SvNVX||| ++SvNV_nomg||5.013002| + SvNV_set||| + SvNVx||| + SvNV||| +@@ -861,6 +948,7 @@ SvPV_nolen_const|5.009003||p + SvPV_nolen|5.006000||p + SvPV_nomg_const_nolen|5.009003||p + SvPV_nomg_const|5.009003||p ++SvPV_nomg_nolen|5.013007||p + SvPV_nomg|5.007002||p + SvPV_renew|5.009003||p + SvPV_set||| +@@ -876,6 +964,7 @@ SvPVutf8x||5.006000| + SvPVutf8||5.006000| + SvPVx||| + SvPV||| ++SvREFCNT_dec_NN||5.017007| + SvREFCNT_dec||| + SvREFCNT_inc_NN|5.009004||p + SvREFCNT_inc_simple_NN|5.009004||p +@@ -891,8 +980,8 @@ SvROK_on||| + SvROK||| + SvRV_set|5.009003||p + SvRV||| +-SvRXOK||5.009005| +-SvRX||5.009005| ++SvRXOK|5.009005||p ++SvRX|5.009005||p + SvSETMAGIC||| + SvSHARED_HASH|5.009003||p + SvSHARE||5.007003| +@@ -906,6 +995,8 @@ SvTAINTED_off||5.004000| + SvTAINTED_on||5.004000| + SvTAINTED||5.004000| + SvTAINT||| ++SvTHINKFIRST||| ++SvTRUE_nomg||5.013006| + SvTRUE||| + SvTYPE||| + SvUNLOCK||5.007003| +@@ -924,7 +1015,9 @@ SvVOK||5.008001| + SvVSTRING_mg|5.009004||p + THIS|||n + UNDERBAR|5.009002||p ++UTF8SKIP||5.006000| + UTF8_MAXBYTES|5.009002||p ++UVCHR_SKIP||5.022000| + UVSIZE|5.006000||p + UVTYPE|5.006000||p + UVXf|5.007001||p +@@ -933,7 +1026,7 @@ UVuf|5.006000||p + UVxf|5.006000||p + WARN_ALL|5.006000||p + WARN_AMBIGUOUS|5.006000||p +-WARN_ASSERTIONS|5.011000||p ++WARN_ASSERTIONS|5.024000||p + WARN_BAREWORD|5.006000||p + WARN_CLOSED|5.006000||p + WARN_CLOSURE|5.006000||p +@@ -978,6 +1071,7 @@ WARN_UNPACK|5.006000||p + WARN_UNTIE|5.006000||p + WARN_UTF8|5.006000||p + WARN_VOID|5.006000||p ++WIDEST_UTYPE|5.015004||p + XCPT_CATCH|5.009002||p + XCPT_RETHROW|5.009002||p + XCPT_TRY_END|5.009002||p +@@ -1005,37 +1099,108 @@ XST_mPV||| + XST_mUNDEF||| + XST_mUV|5.008001||p + XST_mYES||| +-XS_VERSION_BOOTCHECK||| ++XS_APIVERSION_BOOTCHECK||5.024000| ++XS_EXTERNAL||5.024000| ++XS_INTERNAL||5.024000| ++XS_VERSION_BOOTCHECK||5.024000| + XS_VERSION||| + XSprePUSH|5.006000||p + XS||| ++XopDISABLE||5.024000| ++XopENABLE||5.024000| ++XopENTRYCUSTOM||5.024000| ++XopENTRY_set||5.024000| ++XopENTRY||5.024000| ++XopFLAGS||5.013007| + ZeroD|5.009002||p + Zero||| + _aMY_CXT|5.007003||p ++_add_range_to_invlist||| ++_append_range_to_invlist||| ++_core_swash_init||| ++_get_encoding||| ++_get_regclass_nonbitmap_data||| ++_get_swash_invlist||| ++_invlistEQ||| ++_invlist_array_init|||n ++_invlist_contains_cp|||n ++_invlist_dump||| ++_invlist_intersection_maybe_complement_2nd||| ++_invlist_intersection||| ++_invlist_invert||| ++_invlist_len|||n ++_invlist_populate_swatch|||n ++_invlist_search|||n ++_invlist_subtract||| ++_invlist_union_maybe_complement_2nd||| ++_invlist_union||| ++_is_cur_LC_category_utf8||| ++_is_in_locale_category||5.021001| ++_is_uni_FOO||5.017008| ++_is_uni_perl_idcont||5.017008| ++_is_uni_perl_idstart||5.017007| ++_is_utf8_FOO||5.017008| ++_is_utf8_char_slow||5.021001|n ++_is_utf8_idcont||5.021001| ++_is_utf8_idstart||5.021001| ++_is_utf8_mark||5.017008| ++_is_utf8_perl_idcont||5.017008| ++_is_utf8_perl_idstart||5.017007| ++_is_utf8_xidcont||5.021001| ++_is_utf8_xidstart||5.021001| ++_load_PL_utf8_foldclosures||| ++_make_exactf_invlist||| ++_new_invlist_C_array||| ++_new_invlist||| + _pMY_CXT|5.007003||p ++_setlocale_debug_string|||n ++_setup_canned_invlist||| ++_swash_inversion_hash||| ++_swash_to_invlist||| ++_to_fold_latin1||| ++_to_uni_fold_flags||5.014000| ++_to_upper_title_latin1||| ++_to_utf8_case||| ++_to_utf8_fold_flags||5.019009| ++_to_utf8_lower_flags||5.019009| ++_to_utf8_title_flags||5.019009| ++_to_utf8_upper_flags||5.019009| ++_warn_problematic_locale|||n + aMY_CXT_|5.007003||p + aMY_CXT|5.007003||p +-aTHXR_|5.011000||p +-aTHXR|5.011000||p ++aTHXR_|5.024000||p ++aTHXR|5.024000||p + aTHX_|5.006000||p + aTHX|5.006000||p ++add_above_Latin1_folds||| ++add_cp_to_invlist||| + add_data|||n +-addmad||| ++add_multi_match||| ++add_utf16_textfilter||| ++adjust_size_and_find_bucket|||n ++advance_one_LB||| ++advance_one_SB||| ++advance_one_WB||| ++alloc_maybe_populate_EXACT||| ++alloccopstash||| + allocmy||| + amagic_call||| + amagic_cmp_locale||| + amagic_cmp||| ++amagic_deref_call||5.013007| + amagic_i_ncmp||| ++amagic_is_enabled||| + amagic_ncmp||| ++anonymise_cv_maybe||| + any_dup||| + ao||| +-append_elem||| +-append_list||| +-append_madprops||| ++append_utf8_from_native_byte||5.019004|n + apply_attrs_my||| + apply_attrs_string||5.006001| + apply_attrs||| + apply||| ++assert_uft8_cache_coherent||| ++assignment_type||| + atfork_lock||5.007003|n + atfork_unlock||5.007003|n + av_arylen_p||5.009003| +@@ -1044,6 +1209,7 @@ av_create_and_push||5.009005| + av_create_and_unshift_one||5.009005| + av_delete||5.006000| + av_exists||5.006000| ++av_extend_guts||| + av_extend||| + av_fetch||| + av_fill||| +@@ -1055,107 +1221,146 @@ av_push||| + av_reify||| + av_shift||| + av_store||| ++av_tindex||5.017009| ++av_top_index||5.017009| + av_undef||| + av_unshift||| + ax|||n +-bad_type||| ++backup_one_LB||| ++backup_one_SB||| ++backup_one_WB||| ++bad_type_gv||| ++bad_type_pv||| + bind_match||| +-block_end||| ++block_end||5.004000| + block_gimme||5.004000| +-block_start||| ++block_start||5.004000| ++blockhook_register||5.013003| + boolSV|5.004000||p + boot_core_PerlIO||| + boot_core_UNIVERSAL||| + boot_core_mro||| ++bytes_cmp_utf8||5.013007| + bytes_from_utf8||5.007001| +-bytes_to_uni|||n + bytes_to_utf8||5.006001| ++cBOOL|5.013000||p + call_argv|5.006000||p + call_atexit||5.006000| + call_list||5.004000| + call_method|5.006000||p + call_pv|5.006000||p + call_sv|5.006000||p ++caller_cx|5.013005|5.006000|p + calloc||5.007002|n + cando||| +-cast_i32||5.006000| +-cast_iv||5.006000| +-cast_ulong||5.006000| +-cast_uv||5.006000| ++cast_i32||5.006000|n ++cast_iv||5.006000|n ++cast_ulong||5.006000|n ++cast_uv||5.006000|n ++check_locale_boundary_crossing||| + check_type_and_open||| + check_uni||| ++check_utf8_print||| + checkcomma||| +-checkposixcc||| + ckWARN|5.006000||p +-ck_anoncode||| +-ck_bitop||| +-ck_concat||| +-ck_defined||| +-ck_delete||| +-ck_die||| +-ck_each||| +-ck_eof||| +-ck_eval||| +-ck_exec||| +-ck_exists||| +-ck_exit||| +-ck_ftst||| +-ck_fun||| +-ck_glob||| +-ck_grep||| +-ck_index||| +-ck_join||| +-ck_lfun||| +-ck_listiob||| +-ck_match||| +-ck_method||| +-ck_null||| +-ck_open||| +-ck_readline||| +-ck_repeat||| +-ck_require||| +-ck_return||| +-ck_rfun||| +-ck_rvconst||| +-ck_sassign||| +-ck_select||| +-ck_shift||| +-ck_sort||| +-ck_spair||| +-ck_split||| +-ck_subr||| +-ck_substr||| +-ck_svconst||| +-ck_trunc||| +-ck_unpack||| ++ck_entersub_args_core||| ++ck_entersub_args_list||5.013006| ++ck_entersub_args_proto_or_list||5.013006| ++ck_entersub_args_proto||5.013006| ++ck_warner_d||5.011001|v ++ck_warner||5.011001|v ++ckwarn_common||| + ckwarn_d||5.009003| + ckwarn||5.009003| +-cl_and|||n +-cl_anything|||n +-cl_init_zero|||n +-cl_init|||n +-cl_is_anything|||n +-cl_or|||n ++clear_defarray||5.023008| + clear_placeholders||| ++clear_special_blocks||| ++clone_params_del|||n ++clone_params_new|||n + closest_cop||| +-convert||| ++cntrl_to_mnemonic|||n ++compute_EXACTish|||n ++construct_ahocorasick_from_trie||| ++cop_fetch_label||5.015001| + cop_free||| ++cop_hints_2hv||5.013007| ++cop_hints_fetch_pvn||5.013007| ++cop_hints_fetch_pvs||5.013007| ++cop_hints_fetch_pv||5.013007| ++cop_hints_fetch_sv||5.013007| ++cop_store_label||5.015001| ++cophh_2hv||5.013007| ++cophh_copy||5.013007| ++cophh_delete_pvn||5.013007| ++cophh_delete_pvs||5.013007| ++cophh_delete_pv||5.013007| ++cophh_delete_sv||5.013007| ++cophh_fetch_pvn||5.013007| ++cophh_fetch_pvs||5.013007| ++cophh_fetch_pv||5.013007| ++cophh_fetch_sv||5.013007| ++cophh_free||5.013007| ++cophh_new_empty||5.024000| ++cophh_store_pvn||5.013007| ++cophh_store_pvs||5.013007| ++cophh_store_pv||5.013007| ++cophh_store_sv||5.013007| ++core_prototype||| ++coresub_op||| + cr_textfilter||| + create_eval_scope||| ++croak_memory_wrap||5.019003|n ++croak_no_mem|||n ++croak_no_modify||5.013003|n + croak_nocontext|||vn +-croak_xs_usage||5.011000| ++croak_popstack|||n ++croak_sv||5.013001| ++croak_xs_usage||5.010001|n + croak|||v + csighandler||5.009003|n +-curmad||| ++current_re_engine||| ++curse||| + custom_op_desc||5.007003| ++custom_op_get_field||| + custom_op_name||5.007003| +-cv_ckproto_len||| ++custom_op_register||5.013007| ++custom_op_xop||5.013007| ++cv_ckproto_len_flags||| ++cv_clone_into||| + cv_clone||| +-cv_const_sv||5.004000| ++cv_const_sv_or_av|||n ++cv_const_sv||5.003070|n + cv_dump||| ++cv_forget_slab||| ++cv_get_call_checker||5.013006| ++cv_name||5.021005| ++cv_set_call_checker_flags||5.021004| ++cv_set_call_checker||5.013006| ++cv_undef_flags||| + cv_undef||| ++cvgv_from_hek||| ++cvgv_set||| ++cvstash_set||| + cx_dump||5.005000| + cx_dup||| ++cx_popblock||5.023008| ++cx_popeval||5.023008| ++cx_popformat||5.023008| ++cx_popgiven||5.023008| ++cx_poploop||5.023008| ++cx_popsub_args||5.023008| ++cx_popsub_common||5.023008| ++cx_popsub||5.023008| ++cx_popwhen||5.023008| ++cx_pushblock||5.023008| ++cx_pusheval||5.023008| ++cx_pushformat||5.023008| ++cx_pushgiven||5.023008| ++cx_pushloop_for||5.023008| ++cx_pushloop_plain||5.023008| ++cx_pushsub||5.023008| ++cx_pushwhen||5.023008| ++cx_topblock||5.023008| + cxinc||| + dAXMARK|5.009003||p + dAX|5.007002||p +@@ -1168,7 +1373,7 @@ dNOOP|5.006000||p + dORIGMARK||| + dSP||| + dTHR|5.004050||p +-dTHXR|5.011000||p ++dTHXR|5.024000||p + dTHXa|5.006000||p + dTHXoa|5.006000||p + dTHX|5.006000||p +@@ -1189,15 +1394,16 @@ debstackptrs||5.007003| + debstack||5.007003| + debug_start_match||| + deb||5.007003|v ++defelem_target||| + del_sv||| + delete_eval_scope||| +-delimcpy||5.004000| +-deprecate_old||| +-deprecate||| ++delimcpy||5.004000|n ++deprecate_commaless_var_list||| + despatch_signals||5.007001| + destroy_matcher||| + die_nocontext|||vn +-die_where||| ++die_sv||5.013001| ++die_unwind||| + die|||v + dirp_dup||| + div128||| +@@ -1207,8 +1413,8 @@ do_aexec||| + do_aspawn||| + do_binmode||5.004050| + do_chomp||| +-do_chop||| + do_close||| ++do_delete_local||| + do_dump_pad||| + do_eof||| + do_exec3||| +@@ -1220,18 +1426,18 @@ do_hv_dump||5.006000| + do_ipcctl||| + do_ipcget||| + do_join||| +-do_kv||| + do_magic_dump||5.006000| + do_msgrcv||| + do_msgsnd||| ++do_ncmp||| + do_oddball||| + do_op_dump||5.006000| +-do_op_xmldump||| ++do_open6||| + do_open9||5.006000| ++do_open_raw||| + do_openn||5.007001| +-do_open||5.004000| ++do_open||5.003070| + do_pmop_dump||5.006000| +-do_pmop_xmldump||| + do_print||| + do_readline||| + do_seek||| +@@ -1255,7 +1461,7 @@ do_vecget||| + do_vecset||| + do_vop||| + docatch||| +-doeval||| ++doeval_compile||| + dofile||| + dofindlabel||| + doform||| +@@ -1264,7 +1470,7 @@ dooneliner||| + doopen_pm||| + doparseform||| + dopoptoeval||| +-dopoptogiven||| ++dopoptogivenfor||| + dopoptolabel||| + dopoptoloop||| + dopoptosub_at||| +@@ -1272,14 +1478,23 @@ dopoptowhen||| + doref||5.009003| + dounwind||| + dowantarray||| ++drand48_init_r|||n ++drand48_r|||n ++dtrace_probe_call||| ++dtrace_probe_load||| ++dtrace_probe_op||| ++dtrace_probe_phase||| ++dump_all_perl||| + dump_all||5.006000| ++dump_c_backtrace||| + dump_eval||5.006000| + dump_exec_pos||| +-dump_fds||| + dump_form||5.006000| + dump_indent||5.006000|v + dump_mstats||| ++dump_packsubs_perl||| + dump_packsubs||5.006000| ++dump_sub_perl||| + dump_sub||5.006000| + dump_sv_child||| + dump_trie_interim_list||| +@@ -1288,6 +1503,7 @@ dump_trie||| + dump_vindent||5.006000| + dumpuntil||| + dup_attrlist||| ++edit_distance|||n + emulate_cop_io||| + eval_pv|5.006000||p + eval_sv|5.006000||p +@@ -1296,49 +1512,70 @@ expect_number||| + fbm_compile||5.005000| + fbm_instr||5.005000| + feature_is_enabled||| +-fetch_cop_label||5.011000| + filter_add||| + filter_del||| + filter_gets||| + filter_read||| ++finalize_optree||| ++finalize_op||| + find_and_forget_pmops||| + find_array_subscript||| + find_beginning||| + find_byclass||| ++find_default_stash||| + find_hash_subscript||| + find_in_my_stash||| ++find_lexical_cv||| ++find_runcv_where||| + find_runcv||5.008001| + find_rundefsvoffset||5.009002| ++find_rundefsv||5.013002| + find_script||| + find_uninit_var||| + first_symbol|||n ++fixup_errno_string||| ++foldEQ_latin1||5.013008|n ++foldEQ_locale||5.013002|n ++foldEQ_utf8_flags||5.013010| ++foldEQ_utf8||5.013002| ++foldEQ||5.013002|n + fold_constants||| + forbid_setid||| ++force_ident_maybe_lex||| + force_ident||| + force_list||| + force_next||| ++force_strict_version||| + force_version||| + force_word||| + forget_pmop||| + form_nocontext|||vn ++form_short_octal_warning||| + form||5.004000|v + fp_dup||| + fprintf_nocontext|||vn ++free_c_backtrace||| + free_global_struct||| + free_tied_hv_pool||| + free_tmps||| + gen_constant_list||| +-get_arena||| ++get_ANYOF_cp_list_for_ssc||| ++get_and_check_backslash_N_name||| + get_aux_mg||| + get_av|5.006000||p ++get_c_backtrace_dump||| ++get_c_backtrace||| + get_context||5.006000|n +-get_cvn_flags||5.009005| ++get_cvn_flags||| ++get_cvs|5.011000||p + get_cv|5.006000||p + get_db_sub||| + get_debug_opts||| + get_hash_seed||| + get_hv|5.006000||p +-get_isa_hash||| ++get_invlist_iter_addr|||n ++get_invlist_offset_addr|||n ++get_invlist_previous_index_addr|||n + get_mstats||| + get_no_modify||| + get_num||| +@@ -1353,12 +1590,18 @@ getcwd_sv||5.007002| + getenv_len||| + glob_2number||| + glob_assign_glob||| +-glob_assign_ref||| + gp_dup||| + gp_free||| + gp_ref||| ++grok_atoUV|||n + grok_bin|5.007003||p ++grok_bslash_N||| ++grok_bslash_c||| ++grok_bslash_o||| ++grok_bslash_x||| + grok_hex|5.007003||p ++grok_infnan||5.021004| ++grok_number_flags||5.021002| + grok_number|5.007002||p + grok_numeric_radix|5.007002||p + grok_oct|5.007003||p +@@ -1367,84 +1610,117 @@ gv_AVadd||| + gv_HVadd||| + gv_IOadd||| + gv_SVadd||| ++gv_add_by_type||5.011000| + gv_autoload4||5.004000| ++gv_autoload_pvn||5.015004| ++gv_autoload_pv||5.015004| ++gv_autoload_sv||5.015004| + gv_check||| + gv_const_sv||5.009003| + gv_dump||5.006000| +-gv_efullname3||5.004000| ++gv_efullname3||5.003070| + gv_efullname4||5.006001| + gv_efullname||| +-gv_ename||| + gv_fetchfile_flags||5.009005| + gv_fetchfile||| + gv_fetchmeth_autoload||5.007003| ++gv_fetchmeth_internal||| ++gv_fetchmeth_pv_autoload||5.015004| ++gv_fetchmeth_pvn_autoload||5.015004| ++gv_fetchmeth_pvn||5.015004| ++gv_fetchmeth_pv||5.015004| ++gv_fetchmeth_sv_autoload||5.015004| ++gv_fetchmeth_sv||5.015004| + gv_fetchmethod_autoload||5.004000| +-gv_fetchmethod_flags||5.011000| ++gv_fetchmethod_pv_flags||5.015004| ++gv_fetchmethod_pvn_flags||5.015004| ++gv_fetchmethod_sv_flags||5.015004| + gv_fetchmethod||| + gv_fetchmeth||| + gv_fetchpvn_flags|5.009002||p + gv_fetchpvs|5.009004||p + gv_fetchpv||| +-gv_fetchsv||5.009002| +-gv_fullname3||5.004000| ++gv_fetchsv||| ++gv_fullname3||5.003070| + gv_fullname4||5.006001| + gv_fullname||| +-gv_get_super_pkg||| + gv_handler||5.007001| +-gv_init_sv||| ++gv_init_pvn||| ++gv_init_pv||5.015004| ++gv_init_svtype||| ++gv_init_sv||5.015004| + gv_init||| ++gv_is_in_main||| ++gv_magicalize_isa||| ++gv_magicalize||| + gv_name_set||5.009004| +-gv_stashpvn|5.004000||p ++gv_override||| ++gv_setref||| ++gv_stashpvn_internal||| ++gv_stashpvn|5.003070||p + gv_stashpvs|5.009003||p + gv_stashpv||| ++gv_stashsvpvn_cached||| + gv_stashsv||| ++gv_try_downgrade||| ++handle_named_backref||| ++handle_possible_posix||| ++handle_regex_sets||| + he_dup||| + hek_dup||| ++hfree_next_entry||| + hfreeentries||| + hsplit||| +-hv_assert||5.011000| +-hv_auxinit|||n ++hv_assert||| ++hv_auxinit_internal|||n ++hv_auxinit||| + hv_backreferences_p||| + hv_clear_placeholders||5.009001| + hv_clear||| + hv_common_key_len||5.010000| + hv_common||5.010000| +-hv_copy_hints_hv||| ++hv_copy_hints_hv||5.009004| + hv_delayfree_ent||5.004000| + hv_delete_common||| +-hv_delete_ent||5.004000| ++hv_delete_ent||5.003070| + hv_delete||| + hv_eiter_p||5.009003| + hv_eiter_set||5.009003| +-hv_exists_ent||5.004000| ++hv_ename_add||| ++hv_ename_delete||| ++hv_exists_ent||5.003070| + hv_exists||| +-hv_fetch_ent||5.004000| ++hv_fetch_ent||5.003070| + hv_fetchs|5.009003||p + hv_fetch||| ++hv_fill||5.013002| ++hv_free_ent_ret||| + hv_free_ent||5.004000| + hv_iterinit||| +-hv_iterkeysv||5.004000| ++hv_iterkeysv||5.003070| + hv_iterkey||| + hv_iternext_flags||5.008000| + hv_iternextsv||| + hv_iternext||| + hv_iterval||| + hv_kill_backrefs||| +-hv_ksplit||5.004000| ++hv_ksplit||5.003070| + hv_magic_check|||n + hv_magic||| + hv_name_set||5.009003| + hv_notallowed||| + hv_placeholders_get||5.009003| +-hv_placeholders_p||5.009003| ++hv_placeholders_p||| + hv_placeholders_set||5.009003| ++hv_rand_set||5.018000| + hv_riter_p||5.009003| + hv_riter_set||5.009003| + hv_scalar||5.009001| +-hv_store_ent||5.004000| ++hv_store_ent||5.003070| + hv_store_flags||5.008000| + hv_stores|5.009004||p + hv_store||| ++hv_undef_flags||| + hv_undef||| + ibcmp_locale||5.004000| + ibcmp_utf8||5.007003| +@@ -1455,6 +1731,8 @@ incpush_use_sep||| + incpush||| + ingroup||| + init_argv_symbols||| ++init_constants||| ++init_dbargs||| + init_debugger||| + init_global_struct||| + init_i18nl10n||5.006000| +@@ -1467,41 +1745,75 @@ init_postdump_symbols||| + init_predump_symbols||| + init_stacks||5.005000| + init_tm||5.007002| +-instr||| +-intro_my||| ++inplace_aassign||| ++instr|||n ++intro_my||5.004000| + intuit_method||| + intuit_more||| + invert||| ++invlist_array|||n ++invlist_clear||| ++invlist_clone||| ++invlist_contents||| ++invlist_extend||| ++invlist_highest|||n ++invlist_is_iterating|||n ++invlist_iterfinish|||n ++invlist_iterinit|||n ++invlist_iternext|||n ++invlist_max|||n ++invlist_previous_index|||n ++invlist_replace_list_destroys_src||| ++invlist_set_len||| ++invlist_set_previous_index|||n ++invlist_trim|||n ++invoke_exception_hook||| + io_close||| + isALNUMC|5.006000||p +-isALNUM||| ++isALNUM_lazy||5.021001| ++isALPHANUMERIC||5.017008| + isALPHA||| + isASCII|5.006000||p + isBLANK|5.006001||p + isCNTRL|5.006000||p + isDIGIT||| ++isFOO_lc||| ++isFOO_utf8_lc||| ++isGCB|||n + isGRAPH|5.006000||p +-isGV_with_GP|5.009004||p ++isIDCONT||5.017008| ++isIDFIRST_lazy||5.021001| ++isIDFIRST||| ++isLB||| + isLOWER||| ++isOCTAL||5.013005| + isPRINT|5.004000||p + isPSXSPC|5.006001||p + isPUNCT|5.006000||p ++isSB||| + isSPACE||| + isUPPER||| ++isUTF8_CHAR||5.021001| ++isWB||| ++isWORDCHAR||5.013006| + isXDIGIT|5.006000||p + is_an_int||| +-is_gv_magical_sv||| ++is_ascii_string||5.011000| + is_handle_constructor|||n +-is_list_assignment||| ++is_invariant_string||5.021007|n + is_lvalue_sub||5.007001| ++is_safe_syscall||5.019004| ++is_ssc_worth_it|||n + is_uni_alnum_lc||5.006000| +-is_uni_alnumc_lc||5.006000| +-is_uni_alnumc||5.006000| ++is_uni_alnumc_lc||5.017007| ++is_uni_alnumc||5.017007| + is_uni_alnum||5.006000| + is_uni_alpha_lc||5.006000| + is_uni_alpha||5.006000| + is_uni_ascii_lc||5.006000| + is_uni_ascii||5.006000| ++is_uni_blank_lc||5.017002| ++is_uni_blank||5.017002| + is_uni_cntrl_lc||5.006000| + is_uni_cntrl||5.006000| + is_uni_digit_lc||5.006000| +@@ -1522,12 +1834,13 @@ is_uni_upper_lc||5.006000| + is_uni_upper||5.006000| + is_uni_xdigit_lc||5.006000| + is_uni_xdigit||5.006000| +-is_utf8_alnumc||5.006000| ++is_utf8_alnumc||5.017007| + is_utf8_alnum||5.006000| + is_utf8_alpha||5.006000| + is_utf8_ascii||5.006000| +-is_utf8_char_slow|||n +-is_utf8_char||5.006000| ++is_utf8_blank||5.017002| ++is_utf8_char_buf||5.015008|n ++is_utf8_char||5.006000|n + is_utf8_cntrl||5.006000| + is_utf8_common||| + is_utf8_digit||5.006000| +@@ -1536,24 +1849,44 @@ is_utf8_idcont||5.008000| + is_utf8_idfirst||5.006000| + is_utf8_lower||5.006000| + is_utf8_mark||5.006000| ++is_utf8_perl_space||5.011001| ++is_utf8_perl_word||5.011001| ++is_utf8_posix_digit||5.011001| + is_utf8_print||5.006000| + is_utf8_punct||5.006000| + is_utf8_space||5.006000| +-is_utf8_string_loclen||5.009003| +-is_utf8_string_loc||5.008001| +-is_utf8_string||5.006001| ++is_utf8_string_loclen||5.009003|n ++is_utf8_string_loc||5.008001|n ++is_utf8_string||5.006001|n + is_utf8_upper||5.006000| + is_utf8_xdigit||5.006000| ++is_utf8_xidcont||5.013010| ++is_utf8_xidfirst||5.013010| + isa_lookup||| ++isinfnansv||| ++isinfnan||5.021004|n + items|||n + ix|||n + jmaybe||| + join_exact||| ++keyword_plugin_standard||| + keyword||| ++leave_adjust_stacks||5.023008| + leave_scope||| +-lex_end||| +-lex_start||| +-linklist||| ++lex_bufutf8||5.011002| ++lex_discard_to||5.011002| ++lex_grow_linestr||5.011002| ++lex_next_chunk||5.011002| ++lex_peek_unichar||5.011002| ++lex_read_space||5.011002| ++lex_read_to||5.011002| ++lex_read_unichar||5.011002| ++lex_start||5.009005| ++lex_stuff_pvn||5.011002| ++lex_stuff_pvs||5.013005| ++lex_stuff_pv||5.013006| ++lex_stuff_sv||5.011002| ++lex_unstuff||5.011002| + listkids||| + list||| + load_module_nocontext|||vn +@@ -1565,27 +1898,28 @@ lop||| + mPUSHi|5.009002||p + mPUSHn|5.009002||p + mPUSHp|5.009002||p +-mPUSHs|5.011000||p ++mPUSHs|5.010001||p + mPUSHu|5.009002||p + mXPUSHi|5.009002||p + mXPUSHn|5.009002||p + mXPUSHp|5.009002||p +-mXPUSHs|5.011000||p ++mXPUSHs|5.010001||p + mXPUSHu|5.009002||p +-mad_free||| +-madlex||| +-madparse||| + magic_clear_all_env||| ++magic_cleararylen_p||| + magic_clearenv||| ++magic_clearhints||| + magic_clearhint||| + magic_clearisa||| + magic_clearpack||| + magic_clearsig||| ++magic_copycallchecker||| + magic_dump||5.006000| + magic_existspack||| + magic_freearylen_p||| + magic_freeovrld||| + magic_getarylen||| ++magic_getdebugvar||| + magic_getdefelem||| + magic_getnkeys||| + magic_getpack||| +@@ -1597,8 +1931,8 @@ magic_getuvar||| + magic_getvec||| + magic_get||| + magic_killbackrefs||| +-magic_len||| +-magic_methcall||| ++magic_methcall1||| ++magic_methcall|||v + magic_methpack||| + magic_nextpack||| + magic_regdata_cnt||| +@@ -1606,14 +1940,15 @@ magic_regdatum_get||| + magic_regdatum_set||| + magic_scalarpack||| + magic_set_all_env||| +-magic_setamagic||| + magic_setarylen||| + magic_setcollxfrm||| + magic_setdbline||| ++magic_setdebugvar||| + magic_setdefelem||| + magic_setenv||| + magic_sethint||| + magic_setisa||| ++magic_setlvref||| + magic_setmglob||| + magic_setnkeys||| + magic_setpack||| +@@ -1629,113 +1964,104 @@ magic_set||| + magic_sizepack||| + magic_wipepack||| + make_matcher||| +-make_trie_failtable||| + make_trie||| + malloc_good_size|||n + malloced_size|||n + malloc||5.007002|n +-markstack_grow||| ++markstack_grow||5.021001| + matcher_matches_sv||| ++maybe_multimagic_gv||| ++mayberelocate||| + measure_struct||| ++memEQs|5.009005||p + memEQ|5.004000||p ++memNEs|5.009005||p + memNE|5.004000||p + mem_collxfrm||| ++mem_log_alloc|||n + mem_log_common|||n ++mem_log_free|||n ++mem_log_realloc|||n + mess_alloc||| + mess_nocontext|||vn ++mess_sv||5.013001| + mess||5.006000|v +-method_common||| + mfree||5.007002|n + mg_clear||| + mg_copy||| + mg_dup||| +-mg_find||| ++mg_find_mglob||| ++mg_findext|5.013008||pn ++mg_find|||n ++mg_free_type||5.013006| + mg_free||| + mg_get||| + mg_length||5.005000| + mg_localize||| +-mg_magical||| ++mg_magical|||n + mg_set||| + mg_size||5.005000| +-mini_mktime||5.007002| ++mini_mktime||5.007002|n ++minus_v||| + missingterm||| + mode_from_discipline||| + modkids||| +-mod||| + more_bodies||| + more_sv||| + moreswitches||| +-mro_get_from_name||5.011000| ++move_proto_attr||| ++mro_clean_isarev||| ++mro_gather_and_rename||| ++mro_get_from_name||5.010001| + mro_get_linear_isa_dfs||| + mro_get_linear_isa||5.009005| +-mro_get_private_data||5.011000| ++mro_get_private_data||5.010001| + mro_isa_changed_in||| + mro_meta_dup||| + mro_meta_init||| + mro_method_changed_in||5.009005| +-mro_register||5.011000| +-mro_set_mro||5.011000| +-mro_set_private_data||5.011000| ++mro_package_moved||| ++mro_register||5.010001| ++mro_set_mro||5.010001| ++mro_set_private_data||5.010001| + mul128||| + mulexp10|||n ++multideref_stringify||| + my_atof2||5.007002| + my_atof||5.006000| + my_attrs||| +-my_bcopy|||n +-my_betoh16|||n +-my_betoh32|||n +-my_betoh64|||n +-my_betohi|||n +-my_betohl|||n +-my_betohs|||n ++my_bcopy||5.004050|n ++my_bytes_to_utf8|||n + my_bzero|||n + my_chsize||| + my_clearenv||| + my_cxt_index||| + my_cxt_init||| +-my_dirfd||5.009005| ++my_dirfd||5.009005|n + my_exit_jump||| + my_exit||| + my_failure_exit||5.004000| + my_fflush_all||5.006000| + my_fork||5.007003|n +-my_htobe16|||n +-my_htobe32|||n +-my_htobe64|||n +-my_htobei|||n +-my_htobel|||n +-my_htobes|||n +-my_htole16|||n +-my_htole32|||n +-my_htole64|||n +-my_htolei|||n +-my_htolel|||n +-my_htoles|||n +-my_htonl||| + my_kid||| +-my_letoh16|||n +-my_letoh32|||n +-my_letoh64|||n +-my_letohi|||n +-my_letohl|||n +-my_letohs|||n +-my_lstat||| +-my_memcmp||5.004000|n ++my_lstat_flags||| ++my_lstat||5.024000| ++my_memcmp|||n + my_memset|||n +-my_ntohl||| +-my_pclose||5.004000| ++my_pclose||5.003070| + my_popen_list||5.007001| +-my_popen||5.004000| ++my_popen||5.003070| + my_setenv||| ++my_setlocale||| + my_snprintf|5.009004||pvn + my_socketpair||5.007003|n + my_sprintf|5.009003||pvn +-my_stat||| ++my_stat_flags||| ++my_stat||5.024000| ++my_strerror||5.021001| + my_strftime||5.007002| + my_strlcat|5.009004||pn + my_strlcpy|5.009004||pn +-my_swabn|||n +-my_swap||| + my_unexec||| + my_vsnprintf||5.009004|n + need_utf8|||n +@@ -1744,21 +2070,24 @@ newANONHASH||| + newANONLIST||| + newANONSUB||| + newASSIGNOP||| ++newATTRSUB_x||| + newATTRSUB||5.006000| + newAVREF||| + newAV||| + newBINOP||| + newCONDOP||| ++newCONSTSUB_flags||5.015006| + newCONSTSUB|5.004050||p + newCVREF||| +-newDEFSVOP||| ++newDEFSVOP||5.021006| + newFORM||| +-newFOROP||| ++newFOROP||5.013007| + newGIVENOP||5.009003| + newGIVWHENOP||| + newGP||| + newGVOP||| + newGVREF||| ++newGVgen_flags||5.015004| + newGVgen||| + newHVREF||| + newHVhv||5.005000| +@@ -1768,11 +2097,15 @@ newLISTOP||| + newLOGOP||| + newLOOPEX||| + newLOOPOP||| +-newMADPROP||| +-newMADsv||| +-newMYSUB||| ++newMETHOP_internal||| ++newMETHOP_named||5.021005| ++newMETHOP||5.021005| ++newMYSUB||5.017004| + newNULLLIST||| + newOP||| ++newPADNAMELIST||5.021007|n ++newPADNAMEouter||5.021007|n ++newPADNAMEpvn||5.021007|n + newPADOP||| + newPMOP||| + newPROG||| +@@ -1783,32 +2116,38 @@ newRV_noinc|5.004000||p + newRV||| + newSLICEOP||| + newSTATEOP||| ++newSTUB||| + newSUB||| + newSVOP||| + newSVREF||| + newSV_type|5.009005||p ++newSVavdefelem||| + newSVhek||5.009003| + newSViv||| + newSVnv||| ++newSVpadname||5.017004| ++newSVpv_share||5.013006| + newSVpvf_nocontext|||vn + newSVpvf||5.004000|v +-newSVpvn_flags|5.011000||p ++newSVpvn_flags|5.010001||p + newSVpvn_share|5.007001||p +-newSVpvn_utf8|5.011000||p ++newSVpvn_utf8|5.010001||p + newSVpvn|5.004050||p +-newSVpvs_flags|5.011000||p +-newSVpvs_share||5.009003| ++newSVpvs_flags|5.010001||p ++newSVpvs_share|5.009003||p + newSVpvs|5.009003||p + newSVpv||| + newSVrv||| + newSVsv||| + newSVuv|5.006000||p + newSV||| +-newTOKEN||| ++newUNOP_AUX||5.021007| + newUNOP||| + newWHENOP||5.009003| +-newWHILEOP||5.009003| ++newWHILEOP||5.013007| ++newXS_deffile||| + newXS_flags||5.009004| ++newXS_len_flags||| + newXSproto||5.006000| + newXS||5.006000| + new_collate||5.006000| +@@ -1823,30 +2162,49 @@ new_warnings_bitfield||| + next_symbol||| + nextargv||| + nextchar||| +-ninstr||| ++ninstr|||n + no_bareword_allowed||| + no_fh_allowed||| + no_op||| ++noperl_die|||vn + not_a_number||| ++not_incrementable||| + nothreadhook||5.008000| + nuke_stacks||| + num_overflow|||n +-offer_nice_chunk||| + oopsAV||| + oopsHV||| ++op_append_elem||5.013006| ++op_append_list||5.013006| + op_clear||| +-op_const_sv||| ++op_contextualize||5.013006| ++op_convert_list||5.021006| + op_dump||5.006000| + op_free||| +-op_getmad_weak||| +-op_getmad||| ++op_integerize||| ++op_linklist||5.013006| ++op_lvalue_flags||| ++op_lvalue||5.013007| + op_null||5.007002| ++op_parent|||n ++op_prepend_elem||5.013006| + op_refcnt_dec||| + op_refcnt_inc||| + op_refcnt_lock||5.009002| + op_refcnt_unlock||5.009002| +-op_xmldump||| ++op_relocate_sv||| ++op_scope||5.013007| ++op_sibling_splice||5.021002|n ++op_std_init||| ++op_unscope||| + open_script||| ++openn_cleanup||| ++openn_setup||| ++opmethod_stash||| ++opslab_force_free||| ++opslab_free_nopad||| ++opslab_free||| ++output_or_return_posix_warnings||| + pMY_CXT_|5.007003||p + pMY_CXT|5.007003||p + pTHX_|5.006000||p +@@ -1854,35 +2212,64 @@ pTHX|5.006000||p + packWARN|5.007003||p + pack_cat||5.007003| + pack_rec||| ++package_version||| + package||| + packlist||5.008001| +-pad_add_anon||| +-pad_add_name||| ++pad_add_anon||5.008001| ++pad_add_name_pvn||5.015001| ++pad_add_name_pvs||5.015001| ++pad_add_name_pv||5.015001| ++pad_add_name_sv||5.015001| ++pad_add_weakref||| ++pad_alloc_name||| + pad_alloc||| + pad_block_start||| + pad_check_dup||| +-pad_compname_type||| ++pad_compname_type||5.009003| + pad_findlex||| +-pad_findmy||| ++pad_findmy_pvn||5.015001| ++pad_findmy_pvs||5.015001| ++pad_findmy_pv||5.015001| ++pad_findmy_sv||5.015001| + pad_fixup_inner_anons||| + pad_free||| + pad_leavemy||| +-pad_new||| +-pad_peg|||n ++pad_new||5.008001| + pad_push||| + pad_reset||| + pad_setsv||| +-pad_sv||5.011000| ++pad_sv||| + pad_swipe||| +-pad_tidy||| +-pad_undef||| ++pad_tidy||5.008001| ++padlist_dup||| ++padlist_store||| ++padname_dup||| ++padname_free||| ++padnamelist_dup||| ++padnamelist_fetch||5.021007|n ++padnamelist_free||| ++padnamelist_store||5.021007| ++parse_arithexpr||5.013008| ++parse_barestmt||5.013007| ++parse_block||5.013007| + parse_body||| ++parse_fullexpr||5.013008| ++parse_fullstmt||5.013005| ++parse_gv_stash_name||| ++parse_ident||| ++parse_label||5.013007| ++parse_listexpr||5.013008| ++parse_lparen_question_flags||| ++parse_stmtseq||5.013006| ++parse_subsignature||| ++parse_termexpr||5.013008| + parse_unicode_opts||| + parser_dup||| ++parser_free_nexttoke_ops||| + parser_free||| +-path_is_absolute|||n ++path_is_searchable|||n + peep||| +-pending_Slabs_to_ro||| ++pending_ident||| + perl_alloc_using|||n + perl_alloc|||n + perl_clone_using|||n +@@ -1894,21 +2281,21 @@ perl_parse||5.006000|n + perl_run|||n + pidgone||| + pm_description||| +-pmflag||| + pmop_dump||5.006000| +-pmop_xmldump||| + pmruntime||| + pmtrans||| + pop_scope||| ++populate_ANYOF_from_invlist||| ++populate_isa|||v + pregcomp||5.009005| + pregexec||| + pregfree2||5.011000| + pregfree||| +-prepend_elem||| +-prepend_madprops||| ++prescan_version||5.011004| + printbuf||| + printf_nocontext|||vn + process_special_blocks||| ++ptr_hash|||n + ptr_table_clear||5.009005| + ptr_table_fetch||5.009005| + ptr_table_find|||n +@@ -1917,35 +2304,51 @@ ptr_table_new||5.009005| + ptr_table_split||5.009005| + ptr_table_store||5.009005| + push_scope||| +-put_byte||| ++put_charclass_bitmap_innards_common||| ++put_charclass_bitmap_innards_invlist||| ++put_charclass_bitmap_innards||| ++put_code_point||| ++put_range||| + pv_display|5.006000||p + pv_escape|5.009004||p + pv_pretty|5.009004||p + pv_uni_display||5.007003| + qerror||| + qsortsvu||| ++quadmath_format_needed|||n ++quadmath_format_single|||n + re_compile||5.009005| + re_croak2||| + re_dup_guts||| +-re_intuit_start||5.009005| ++re_exec_indentf|||v ++re_indentf|||v ++re_intuit_start||5.019001| + re_intuit_string||5.006000| +-readpipe_override||| ++re_op_compile||| ++re_printf|||v + realloc||5.007002|n +-reentrant_free||| +-reentrant_init||| +-reentrant_retry|||vn +-reentrant_size||| ++reentrant_free||5.024000| ++reentrant_init||5.024000| ++reentrant_retry||5.024000|vn ++reentrant_size||5.024000| + ref_array_or_hash||| + refcounted_he_chain_2hv||| +-refcounted_he_fetch||| ++refcounted_he_fetch_pvn||| ++refcounted_he_fetch_pvs||| ++refcounted_he_fetch_pv||| ++refcounted_he_fetch_sv||| + refcounted_he_free||| +-refcounted_he_new_common||| +-refcounted_he_new||| ++refcounted_he_inc||| ++refcounted_he_new_pvn||| ++refcounted_he_new_pvs||| ++refcounted_he_new_pv||| ++refcounted_he_new_sv||| + refcounted_he_value||| + refkids||| + refto||| +-ref||5.011000| +-reg_check_named_buff_matched||| ++ref||5.024000| ++reg2Lanode||| ++reg_check_named_buff_matched|||n + reg_named_buff_all||5.009005| + reg_named_buff_exists||5.009005| + reg_named_buff_fetch||5.009005| +@@ -1954,7 +2357,6 @@ reg_named_buff_iter||| + reg_named_buff_nextkey||5.009005| + reg_named_buff_scalar||5.009005| + reg_named_buff||| +-reg_namedseq||| + reg_node||| + reg_numbered_buff_fetch||| + reg_numbered_buff_length||| +@@ -1962,7 +2364,7 @@ reg_numbered_buff_store||| + reg_qr_package||| + reg_recode||| + reg_scan_name||| +-reg_skipcomment||| ++reg_skipcomment|||n + reg_temp_copy||| + reganode||| + regatom||| +@@ -1973,8 +2375,10 @@ regcppop||| + regcppush||| + regcurly|||n + regdump_extflags||| ++regdump_intflags||| + regdump||5.005000| + regdupe_internal||| ++regex_set_precedence|||n + regexec_flags||5.005000| + regfree_internal||5.009005| + reghop3|||n +@@ -1985,23 +2389,24 @@ reginitcolors||5.006000| + reginsert||| + regmatch||| + regnext||5.005000| ++regnode_guts||| + regpiece||| +-regpposixcc||| + regprop||| + regrepeat||| + regtail_study||| + regtail||| + regtry||| +-reguni||| +-regwhite|||n + reg||| +-repeatcpy||| ++repeatcpy|||n + report_evil_fh||| ++report_redefined_cv||| + report_uninit||| ++report_wrongway_fh||| + require_pv||5.006000| + require_tie_mod||| + restore_magic||| +-rninstr||| ++rninstr|||n ++rpeep||| + rsignal_restore||| + rsignal_save||| + rsignal_state||5.004000| +@@ -2010,6 +2415,7 @@ run_body||| + run_user_filter||| + runops_debug||5.005000| + runops_standard||5.005000| ++rv2cv_op_cv||5.013006| + rvpv_dup||| + rxres_free||| + rxres_restore||| +@@ -2023,6 +2429,7 @@ save_I16||5.004000| + save_I32||| + save_I8||5.006000| + save_adelete||5.011000| ++save_aelem_flags||5.011000| + save_aelem||5.004050| + save_alloc||5.006000| + save_aptr||| +@@ -2039,10 +2446,11 @@ save_generic_pvref||5.006001| + save_generic_svref||5.005030| + save_gp||5.004000| + save_hash||| ++save_hdelete||5.011000| + save_hek_flags|||n + save_helem_flags||5.011000| + save_helem||5.004050| +-save_hints||| ++save_hints||5.010001| + save_hptr||| + save_int||| + save_item||| +@@ -2050,32 +2458,36 @@ save_iv||5.005000| + save_lines||| + save_list||| + save_long||| +-save_magic||| ++save_magic_flags||| + save_mortalizesv||5.007001| + save_nogv||| +-save_op||| +-save_padsv_and_mortalize||5.011000| ++save_op||5.005000| ++save_padsv_and_mortalize||5.010001| + save_pptr||| +-save_pushi32ptr||| ++save_pushi32ptr||5.010001| + save_pushptri32ptr||| +-save_pushptrptr||| +-save_pushptr||5.011000| ++save_pushptrptr||5.010001| ++save_pushptr||5.010001| + save_re_context||5.006000| + save_scalar_at||| + save_scalar||| + save_set_svflags||5.009000| + save_shared_pvref||5.007003| + save_sptr||| ++save_strlen||| + save_svref||| + save_vptr||5.006000| + savepvn||| + savepvs||5.009003| + savepv||| + savesharedpvn||5.009005| ++savesharedpvs||5.013006| + savesharedpv||5.007003| ++savesharedsvpv||5.013006| + savestack_grow_cnt||5.008001| + savestack_grow||| + savesvpv||5.009002| ++savetmps||5.023008| + sawparens||| + scalar_mod_type|||n + scalarboolean||| +@@ -2100,27 +2512,25 @@ scan_trans||| + scan_version||5.009001| + scan_vstring||5.009005| + scan_word||| +-scope||| +-screaminstr||5.005000| + search_const||| + seed||5.008001| + sequence_num||| +-sequence_tail||| +-sequence||| ++set_ANYOF_arg||| ++set_caret_X||| + set_context||5.006000|n + set_numeric_local||5.006000| + set_numeric_radix||5.006000| + set_numeric_standard||5.006000| ++set_padlist|||n + setdefout||| + share_hek_flags||| + share_hek||5.004000| ++should_warn_nl|||n + si_dup||| + sighandler|||n + simplify_sort||| +-skipspace0||| +-skipspace1||| +-skipspace2||| +-skipspace||| ++skip_to_be_ignored_text||| ++skipspace_flags||| + softref2xv||| + sortcv_stacked||| + sortcv_xsub||| +@@ -2129,13 +2539,22 @@ sortsv_flags||5.009003| + sortsv||5.007003| + space_join_names_mortal||| + ss_dup||| ++ssc_add_range||| ++ssc_and||| ++ssc_anything||| ++ssc_clear_locale|||n ++ssc_cp_and||| ++ssc_finalize||| ++ssc_init||| ++ssc_intersection||| ++ssc_is_anything|||n ++ssc_is_cp_posixl_init|||n ++ssc_or||| ++ssc_union||| + stack_grow||| +-start_force||| + start_glob||| + start_subparse||5.004000| +-stashpv_hvname_match||5.011000| + stdize_locale||| +-store_cop_label||| + strEQ||| + strGE||| + strGT||| +@@ -2151,6 +2570,7 @@ sub_crush_depth||| + sublex_done||| + sublex_push||| + sublex_start||| ++sv_2bool_flags||5.013006| + sv_2bool||| + sv_2cv||| + sv_2io||| +@@ -2160,7 +2580,7 @@ sv_2iv_flags||5.009001| + sv_2iv||| + sv_2mortal||| + sv_2num||| +-sv_2nv||| ++sv_2nv_flags||5.013001| + sv_2pv_flags|5.007002||p + sv_2pv_nolen|5.006000||p + sv_2pvbyte_nolen|5.006000||p +@@ -2172,10 +2592,14 @@ sv_2uv_flags||5.009001| + sv_2uv|5.004000||p + sv_add_arena||| + sv_add_backref||| +-sv_backoff||| ++sv_backoff|||n + sv_bless||| ++sv_buf_to_ro||| ++sv_buf_to_rw||| + sv_cat_decode||5.008001| ++sv_catpv_flags||5.013006| + sv_catpv_mg|5.004050||p ++sv_catpv_nomg||5.013006| + sv_catpvf_mg_nocontext|||pvn + sv_catpvf_mg|5.006000|5.004000|pv + sv_catpvf_nocontext|||vn +@@ -2184,31 +2608,47 @@ sv_catpvn_flags||5.007002| + sv_catpvn_mg|5.004050||p + sv_catpvn_nomg|5.007002||p + sv_catpvn||| ++sv_catpvs_flags||5.013006| ++sv_catpvs_mg||5.013006| ++sv_catpvs_nomg||5.013006| + sv_catpvs|5.009003||p + sv_catpv||| + sv_catsv_flags||5.007002| + sv_catsv_mg|5.004050||p + sv_catsv_nomg|5.007002||p + sv_catsv||| +-sv_catxmlpvn||| +-sv_catxmlsv||| + sv_chop||| + sv_clean_all||| + sv_clean_objs||| + sv_clear||| ++sv_cmp_flags||5.013006| ++sv_cmp_locale_flags||5.013006| + sv_cmp_locale||5.004000| + sv_cmp||| ++sv_collxfrm_flags||5.013006| + sv_collxfrm||| +-sv_compile_2op||5.008001| +-sv_copypv||5.007003| ++sv_copypv_flags||5.017002| ++sv_copypv_nomg||5.017002| ++sv_copypv||| ++sv_dec_nomg||5.013002| + sv_dec||| + sv_del_backref||| ++sv_derived_from_pvn||5.015004| ++sv_derived_from_pv||5.015004| ++sv_derived_from_sv||5.015004| + sv_derived_from||5.004000| + sv_destroyable||5.010000| ++sv_display||| ++sv_does_pvn||5.015004| ++sv_does_pv||5.015004| ++sv_does_sv||5.015004| + sv_does||5.009004| + sv_dump||| ++sv_dup_common||| + sv_dup_inc_multiple||| ++sv_dup_inc||| + sv_dup||| ++sv_eq_flags||5.013006| + sv_eq||| + sv_exp_grow||| + sv_force_normal_flags||5.007001| +@@ -2216,21 +2656,26 @@ sv_force_normal||5.006000| + sv_free2||| + sv_free_arenas||| + sv_free||| +-sv_gets||5.004000| ++sv_get_backrefs||5.021008|n ++sv_gets||5.003070| + sv_grow||| + sv_i_ncmp||| ++sv_inc_nomg||5.013002| + sv_inc||| +-sv_insert_flags||5.011000| ++sv_insert_flags||5.010001| + sv_insert||| + sv_isa||| + sv_isobject||| + sv_iv||5.005000| + sv_kill_backrefs||| ++sv_len_utf8_nomg||| + sv_len_utf8||5.006000| + sv_len||| +-sv_magic_portable|5.011000|5.004000|p ++sv_magic_portable|5.024000|5.004000|p ++sv_magicext_mglob||| + sv_magicext||5.007003| + sv_magic||| ++sv_mortalcopy_flags||| + sv_mortalcopy||| + sv_ncmp||| + sv_newmortal||| +@@ -2239,10 +2684,14 @@ sv_nolocking||5.007003| + sv_nosharing||5.007003| + sv_nounlocking||| + sv_nv||5.005000| ++sv_only_taint_gmagic|||n ++sv_or_pv_pos_u2b||| + sv_peek||5.005000| ++sv_pos_b2u_flags||5.019003| + sv_pos_b2u_midway||| + sv_pos_b2u||5.006000| + sv_pos_u2b_cached||| ++sv_pos_u2b_flags||5.011005| + sv_pos_u2b_forwards|||n + sv_pos_u2b_midway|||n + sv_pos_u2b||5.006000| +@@ -2259,11 +2708,13 @@ sv_pvutf8||5.006000| + sv_pv||5.006000| + sv_recode_to_utf8||5.007003| + sv_reftype||| +-sv_release_COW||| ++sv_ref||5.015004| + sv_replace||| + sv_report_used||| ++sv_resetpvn||| + sv_reset||| + sv_rvweaken||5.006000| ++sv_sethek||| + sv_setiv_mg|5.004050||p + sv_setiv||| + sv_setnv_mg|5.006000||p +@@ -2277,11 +2728,13 @@ sv_setpviv_mg||5.008001| + sv_setpviv||5.008001| + sv_setpvn_mg|5.004050||p + sv_setpvn||| ++sv_setpvs_mg||5.013006| + sv_setpvs|5.009004||p + sv_setpv||| + sv_setref_iv||| + sv_setref_nv||| + sv_setref_pvn||| ++sv_setref_pvs||5.024000| + sv_setref_pv||| + sv_setref_uv||5.007001| + sv_setsv_cow||| +@@ -2296,6 +2749,7 @@ sv_taint||5.004000| + sv_true||5.005000| + sv_unglob||| + sv_uni_display||5.007003| ++sv_unmagicext|5.013008||p + sv_unmagic||| + sv_unref_flags||5.007001| + sv_unref||| +@@ -2313,18 +2767,19 @@ sv_utf8_upgrade_nomg||5.007002| + sv_utf8_upgrade||5.007001| + sv_uv|5.005000||p + sv_vcatpvf_mg|5.006000|5.004000|p ++sv_vcatpvfn_flags||5.017002| + sv_vcatpvfn||5.004000| + sv_vcatpvf|5.006000|5.004000|p + sv_vsetpvf_mg|5.006000|5.004000|p + sv_vsetpvfn||5.004000| + sv_vsetpvf|5.006000|5.004000|p +-sv_xmlpeek||| + svtype||| + swallow_bom||| +-swap_match_buff||| + swash_fetch||5.007002| +-swash_get||| + swash_init||5.006000| ++swash_scan_list_line||| ++swatch_get||| ++sync_locale||5.021004| + sys_init3||5.010000|n + sys_init||5.010000|n + sys_intern_clear||| +@@ -2333,10 +2788,24 @@ sys_intern_init||| + sys_term||5.010000|n + taint_env||| + taint_proper||| +-tmps_grow||5.006000| ++tied_method|||v ++tmps_grow_p||| ++toFOLD_utf8||5.019001| ++toFOLD_uvchr||5.023009| ++toFOLD||5.019001| ++toLOWER_L1||5.019001| ++toLOWER_LC||5.004000| ++toLOWER_utf8||5.015007| ++toLOWER_uvchr||5.023009| + toLOWER||| ++toTITLE_utf8||5.015007| ++toTITLE_uvchr||5.023009| ++toTITLE||5.019001| ++toUPPER_utf8||5.015007| ++toUPPER_uvchr||5.023009| + toUPPER||| + to_byte_substr||| ++to_lower_latin1|||n + to_uni_fold||5.007003| + to_uni_lower_lc||5.006000| + to_uni_lower||5.007003| +@@ -2345,54 +2814,61 @@ to_uni_title||5.007003| + to_uni_upper_lc||5.006000| + to_uni_upper||5.007003| + to_utf8_case||5.007003| +-to_utf8_fold||5.007003| +-to_utf8_lower||5.007003| ++to_utf8_fold||5.015007| ++to_utf8_lower||5.015007| + to_utf8_substr||| +-to_utf8_title||5.007003| +-to_utf8_upper||5.007003| +-token_free||| +-token_getmad||| ++to_utf8_title||5.015007| ++to_utf8_upper||5.015007| + tokenize_use||| + tokeq||| + tokereport||| +-too_few_arguments||| +-too_many_arguments||| ++too_few_arguments_pv||| ++too_many_arguments_pv||| ++translate_substr_offsets|||n ++try_amagic_bin||| ++try_amagic_un||| + uiv_2buf|||n + unlnk||| + unpack_rec||| + unpack_str||5.007003| + unpackstring||5.008001| ++unreferenced_to_tmp_stack||| + unshare_hek_or_pvn||| + unshare_hek||| +-unsharepvn||5.004000| ++unsharepvn||5.003070| + unwind_handler_stack||| + update_debugger_info||| + upg_version||5.009005| + usage||| ++utf16_textfilter||| + utf16_to_utf8_reversed||5.006001| + utf16_to_utf8||5.006001| + utf8_distance||5.006000| +-utf8_hop||5.006000| ++utf8_hop||5.006000|n + utf8_length||5.007001| ++utf8_mg_len_cache_update||| + utf8_mg_pos_cache_update||| + utf8_to_bytes||5.006001| ++utf8_to_uvchr_buf||5.015009| + utf8_to_uvchr||5.007001| ++utf8_to_uvuni_buf||5.015009| + utf8_to_uvuni||5.007001| +-utf8n_to_uvchr||| ++utf8n_to_uvchr||5.007001| + utf8n_to_uvuni||5.007001| + utilize||| + uvchr_to_utf8_flags||5.007003| +-uvchr_to_utf8||| ++uvchr_to_utf8||5.007001| ++uvoffuni_to_utf8_flags||5.019004| + uvuni_to_utf8_flags||5.007003| + uvuni_to_utf8||5.007001| ++valid_utf8_to_uvchr||5.015009| ++valid_utf8_to_uvuni||5.015009| ++validate_proto||| + validate_suid||| + varname||| + vcmp||5.009000| + vcroak||5.006000| + vdeb||5.007003| +-vdie_common||| +-vdie_croak_common||| +-vdie||| + vform||5.006000| + visit||| + vivify_defelem||| +@@ -2408,24 +2884,29 @@ vwarner||5.006000| + vwarn||5.006000| + wait4pid||| + warn_nocontext|||vn ++warn_sv||5.013001| + warner_nocontext|||vn + warner|5.006000|5.004000|pv + warn|||v ++was_lvalue_sub||| + watch||| ++whichsig_pvn||5.015004| ++whichsig_pv||5.015004| ++whichsig_sv||5.015004| + whichsig||| +-write_no_mem||| ++win32_croak_not_implemented|||n ++with_queued_errors||| ++wrap_op_checker||5.015008| + write_to_stderr||| +-xmldump_all||| +-xmldump_attr||| +-xmldump_eval||| +-xmldump_form||| +-xmldump_indent|||v +-xmldump_packsubs||| +-xmldump_sub||| +-xmldump_vindent||| ++xs_boot_epilog||| ++xs_handshake|||vn ++xs_version_bootcheck||| ++yyerror_pvn||| ++yyerror_pv||| + yyerror||| + yylex||| + yyparse||| ++yyunlex||| + yywarn||| + ); + +@@ -3529,6 +4010,10 @@ __DATA__ + # define IVSIZE 8 + #endif + ++#ifndef LONGSIZE ++# define LONGSIZE 8 ++#endif ++ + #ifndef PERL_QUAD_MIN + # define PERL_QUAD_MIN IV_MIN + #endif +@@ -3550,6 +4035,10 @@ __DATA__ + # define IVTYPE long + #endif + ++#ifndef LONGSIZE ++# define LONGSIZE 4 ++#endif ++ + #ifndef IV_MIN + # define IV_MIN PERL_LONG_MIN + #endif +@@ -3659,6 +4148,14 @@ __DATA__ + #endif + + #endif ++#ifndef memEQs ++# define memEQs(s1, l, s2) \ ++ (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1))) ++#endif ++ ++#ifndef memNEs ++# define memNEs(s1, l, s2) !memEQs(s1, l, s2) ++#endif + #ifndef MoveD + # define MoveD(s,d,n,t) memmove((char*)(d),(char*)(s), (n) * sizeof(t)) + #endif +@@ -3704,6 +4201,67 @@ __DATA__ + #ifndef Newxz + # define Newxz(v,n,t) Newz(0,v,n,t) + #endif ++#ifndef PERL_MAGIC_qr ++# define PERL_MAGIC_qr 'r' ++#endif ++#ifndef cBOOL ++# define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0) ++#endif ++ ++#ifndef OpHAS_SIBLING ++# define OpHAS_SIBLING(o) (cBOOL((o)->op_sibling)) ++#endif ++ ++#ifndef OpSIBLING ++# define OpSIBLING(o) (0 + (o)->op_sibling) ++#endif ++ ++#ifndef OpMORESIB_set ++# define OpMORESIB_set(o, sib) ((o)->op_sibling = (sib)) ++#endif ++ ++#ifndef OpLASTSIB_set ++# define OpLASTSIB_set(o, parent) ((o)->op_sibling = NULL) ++#endif ++ ++#ifndef OpMAYBESIB_set ++# define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib)) ++#endif ++ ++#ifndef SvRX ++#if defined(NEED_SvRX) ++static void * DPPP_(my_SvRX)(pTHX_ SV *rv); ++static ++#else ++extern void * DPPP_(my_SvRX)(pTHX_ SV *rv); ++#endif ++ ++#ifdef SvRX ++# undef SvRX ++#endif ++#define SvRX(a) DPPP_(my_SvRX)(aTHX_ a) ++ ++#if defined(NEED_SvRX) || defined(NEED_SvRX_GLOBAL) ++ ++void * ++DPPP_(my_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 ++#ifndef SvRXOK ++# define SvRXOK(sv) (!!SvRX(sv)) ++#endif + + #ifndef PERL_UNUSED_DECL + # ifdef HASATTRIBUTE +@@ -3737,6 +4295,14 @@ __DATA__ + # define PERL_UNUSED_CONTEXT + # 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 + #ifndef NOOP + # define NOOP /*EMPTY*/(void)0 + #endif +@@ -3823,15 +4389,15 @@ typedef NVTYPE NV; + #undef STMT_START + #undef STMT_END + #ifdef PERL_USE_GCC_BRACE_GROUPS +-# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */ +-# define STMT_END ) ++# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */ ++# define STMT_END ) + #else + # if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__) +-# define STMT_START if (1) +-# define STMT_END else (void)0 ++# define STMT_START if (1) ++# define STMT_END else (void)0 + # else +-# define STMT_START do +-# define STMT_END while (0) ++# define STMT_START do ++# define STMT_END while (0) + # endif + #endif + #ifndef boolSV +@@ -3944,13 +4510,13 @@ typedef NVTYPE NV; + #endif + #ifndef PERL_HASH + # define PERL_HASH(hash,str,len) \ +- STMT_START { \ +- const char *s_PeRlHaSh = str; \ +- I32 i_PeRlHaSh = len; \ +- U32 hash_PeRlHaSh = 0; \ +- while (i_PeRlHaSh--) \ +- hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \ +- (hash) = hash_PeRlHaSh; \ ++ STMT_START { \ ++ const char *s_PeRlHaSh = str; \ ++ I32 i_PeRlHaSh = len; \ ++ U32 hash_PeRlHaSh = 0; \ ++ while (i_PeRlHaSh--) \ ++ hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \ ++ (hash) = hash_PeRlHaSh; \ + } STMT_END + #endif + +@@ -4022,16 +4588,26 @@ typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*); + */ + # undef isPRINT + # endif ++ ++#ifdef HAS_QUAD ++# ifdef U64TYPE ++# define WIDEST_UTYPE U64TYPE ++# else ++# define WIDEST_UTYPE Quad_t ++# endif ++#else ++# define WIDEST_UTYPE U32 ++#endif + #ifndef isALNUMC + # define isALNUMC(c) (isALPHA(c) || isDIGIT(c)) + #endif + + #ifndef isASCII +-# define isASCII(c) ((c) <= 127) ++# define isASCII(c) ((WIDEST_UTYPE) (c) <= 127) + #endif + + #ifndef isCNTRL +-# define isCNTRL(c) ((c) < ' ' || (c) == 127) ++# define isCNTRL(c) ((WIDEST_UTYPE) (c) < ' ' || (c) == 127) + #endif + + #ifndef isGRAPH +@@ -4052,6 +4628,23 @@ typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*); + + #endif + ++/* Until we figure out how to support this in older perls... */ ++#if (PERL_BCDVERSION >= 0x5008000) ++#ifndef HeUTF8 ++# define HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \ ++ SvUTF8(HeKEY_sv(he)) : \ ++ (U32)HeKUTF8(he)) ++#endif ++ ++#endif ++#ifndef C_ARRAY_LENGTH ++# define C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0])) ++#endif ++ ++#ifndef C_ARRAY_END ++# define C_ARRAY_END(a) ((a) + C_ARRAY_LENGTH(a)) ++#endif ++ + #ifndef PERL_SIGNALS_UNSAFE_FLAG + + #define PERL_SIGNALS_UNSAFE_FLAG 0x0001 +@@ -4171,7 +4764,7 @@ extern yy_parser DPPP_(dummy_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 +@@ -4285,16 +4878,16 @@ extern yy_parser DPPP_(dummy_PL_parser); + #endif + + #ifndef G_METHOD +-# define G_METHOD 64 ++# define G_METHOD 64 + # ifdef call_sv + # undef call_sv + # endif + # if (PERL_BCDVERSION < 0x5006000) + # define call_sv(sv, flags) ((flags) & G_METHOD ? perl_call_method((char *) SvPV_nolen_const(sv), \ +- (flags) & ~G_METHOD) : perl_call_sv(sv, flags)) ++ (flags) & ~G_METHOD) : perl_call_sv(sv, flags)) + # else + # define call_sv(sv, flags) ((flags) & G_METHOD ? Perl_call_method(aTHX_ (char *) SvPV_nolen_const(sv), \ +- (flags) & ~G_METHOD) : Perl_call_sv(aTHX_ sv, flags)) ++ (flags) & ~G_METHOD) : Perl_call_sv(aTHX_ sv, flags)) + # endif + #endif + +@@ -4331,7 +4924,7 @@ DPPP_(my_eval_pv)(char *p, I32 croak_on_error) + PUTBACK; + + if (croak_on_error && SvTRUE(GvSV(errgv))) +- croak(SvPVx(GvSV(errgv), na)); ++ croak(SvPVx(GvSV(errgv), na)); + + return sv; + } +@@ -4371,40 +4964,43 @@ DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args) + SvREADONLY_off(((SVOP*)modname)->op_sv); + modname->op_private |= OPpCONST_BARE; + if (ver) { +- veop = newSVOP(OP_CONST, 0, ver); ++ veop = newSVOP(OP_CONST, 0, ver); + } + else +- veop = NULL; ++ veop = NULL; + if (flags & PERL_LOADMOD_NOIMPORT) { +- imop = sawparens(newNULLLIST()); ++ imop = sawparens(newNULLLIST()); + } + else if (flags & PERL_LOADMOD_IMPORT_OPS) { +- imop = va_arg(*args, OP*); ++ imop = va_arg(*args, OP*); + } + else { +- SV *sv; +- imop = NULL; +- sv = va_arg(*args, SV*); +- while (sv) { +- imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv)); +- sv = va_arg(*args, SV*); +- } ++ SV *sv; ++ imop = NULL; ++ sv = va_arg(*args, SV*); ++ while (sv) { ++ imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv)); ++ sv = va_arg(*args, SV*); ++ } + } + { +- const line_t ocopline = PL_copline; +- COP * const ocurcop = PL_curcop; +- const int oexpect = PL_expect; ++ const line_t ocopline = PL_copline; ++ COP * const ocurcop = PL_curcop; ++ const int oexpect = PL_expect; + + #if (PERL_BCDVERSION >= 0x5004000) +- utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0), +- veop, modname, imop); ++ utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0), ++ veop, modname, imop); ++#elif (PERL_BCDVERSION > 0x5003000) ++ utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(), ++ veop, modname, imop); + #else +- utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(), +- modname, imop); ++ utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(), ++ modname, imop); + #endif +- PL_expect = oexpect; +- PL_copline = ocopline; +- PL_curcop = ocurcop; ++ PL_expect = oexpect; ++ PL_copline = ocopline; ++ PL_curcop = ocurcop; + } + } + +@@ -4496,35 +5092,35 @@ extern void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv); + void + DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv) + { +- U32 oldhints = PL_hints; +- HV *old_cop_stash = PL_curcop->cop_stash; +- HV *old_curstash = PL_curstash; +- line_t oldline = PL_curcop->cop_line; +- PL_curcop->cop_line = D_PPP_PL_copline; ++ U32 oldhints = PL_hints; ++ HV *old_cop_stash = PL_curcop->cop_stash; ++ HV *old_curstash = PL_curstash; ++ line_t oldline = PL_curcop->cop_line; ++ PL_curcop->cop_line = D_PPP_PL_copline; + +- PL_hints &= ~HINT_BLOCK_SCOPE; +- if (stash) +- PL_curstash = PL_curcop->cop_stash = stash; ++ PL_hints &= ~HINT_BLOCK_SCOPE; ++ if (stash) ++ PL_curstash = PL_curcop->cop_stash = stash; + +- newSUB( ++ newSUB( + + #if (PERL_BCDVERSION < 0x5003022) +- start_subparse(), ++ start_subparse(), + #elif (PERL_BCDVERSION == 0x5003022) +- start_subparse(0), ++ start_subparse(0), + #else /* 5.003_23 onwards */ +- start_subparse(FALSE, 0), ++ start_subparse(FALSE, 0), + #endif + +- newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)), +- newSVOP(OP_CONST, 0, &PL_sv_no), /* SvPV(&PL_sv_no) == "" -- GMB */ +- newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv)) +- ); ++ newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)), ++ newSVOP(OP_CONST, 0, &PL_sv_no), /* SvPV(&PL_sv_no) == "" -- GMB */ ++ newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv)) ++ ); + +- PL_hints = oldhints; +- PL_curcop->cop_stash = old_cop_stash; +- PL_curstash = old_curstash; +- PL_curcop->cop_line = oldline; ++ PL_hints = oldhints; ++ PL_curcop->cop_stash = old_cop_stash; ++ PL_curstash = old_curstash; ++ PL_curcop->cop_line = oldline; + } + #endif + #endif +@@ -4561,64 +5157,64 @@ DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv) + #if (PERL_BCDVERSION < 0x5004068) + /* Fetches the SV that keeps the per-interpreter data. */ + #define dMY_CXT_SV \ +- SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE) ++ SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE) + #else /* >= perl5.004_68 */ + #define dMY_CXT_SV \ +- SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY, \ +- sizeof(MY_CXT_KEY)-1, TRUE) ++ SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY, \ ++ sizeof(MY_CXT_KEY)-1, TRUE) + #endif /* < perl5.004_68 */ + + /* This declaration should be used within all functions that use the + * interpreter-local data. */ +-#define dMY_CXT \ +- dMY_CXT_SV; \ +- my_cxt_t *my_cxtp = INT2PTR(my_cxt_t*,SvUV(my_cxt_sv)) ++#define dMY_CXT \ ++ dMY_CXT_SV; \ ++ my_cxt_t *my_cxtp = INT2PTR(my_cxt_t*,SvUV(my_cxt_sv)) + + /* Creates and zeroes the per-interpreter data. + * (We allocate my_cxtp in a Perl SV so that it will be released when + * the interpreter goes away.) */ + #define MY_CXT_INIT \ +- dMY_CXT_SV; \ +- /* newSV() allocates one more than needed */ \ +- my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ +- Zero(my_cxtp, 1, my_cxt_t); \ +- sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) ++ dMY_CXT_SV; \ ++ /* newSV() allocates one more than needed */ \ ++ my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ ++ Zero(my_cxtp, 1, my_cxt_t); \ ++ sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) + + /* This macro must be used to access members of the my_cxt_t structure. + * e.g. MYCXT.some_data */ +-#define MY_CXT (*my_cxtp) ++#define MY_CXT (*my_cxtp) + + /* Judicious use of these macros can reduce the number of times dMY_CXT + * is used. Use is similar to pTHX, aTHX etc. */ +-#define pMY_CXT my_cxt_t *my_cxtp +-#define pMY_CXT_ pMY_CXT, +-#define _pMY_CXT ,pMY_CXT +-#define aMY_CXT my_cxtp +-#define aMY_CXT_ aMY_CXT, +-#define _aMY_CXT ,aMY_CXT ++#define pMY_CXT my_cxt_t *my_cxtp ++#define pMY_CXT_ pMY_CXT, ++#define _pMY_CXT ,pMY_CXT ++#define aMY_CXT my_cxtp ++#define aMY_CXT_ aMY_CXT, ++#define _aMY_CXT ,aMY_CXT + + #endif /* START_MY_CXT */ + + #ifndef MY_CXT_CLONE + /* Clones the per-interpreter data. */ + #define MY_CXT_CLONE \ +- dMY_CXT_SV; \ +- my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ +- Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\ +- sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) ++ dMY_CXT_SV; \ ++ my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ ++ Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\ ++ sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) + #endif + + #else /* single interpreter */ + + #ifndef START_MY_CXT + +-#define START_MY_CXT static my_cxt_t my_cxt; +-#define dMY_CXT_SV dNOOP +-#define dMY_CXT dNOOP +-#define MY_CXT_INIT NOOP +-#define MY_CXT my_cxt ++#define START_MY_CXT static my_cxt_t my_cxt; ++#define dMY_CXT_SV dNOOP ++#define dMY_CXT dNOOP ++#define MY_CXT_INIT NOOP ++#define MY_CXT my_cxt + +-#define pMY_CXT void ++#define pMY_CXT void + #define pMY_CXT_ + #define _pMY_CXT + #define aMY_CXT +@@ -4628,26 +5224,26 @@ DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv) + #endif /* START_MY_CXT */ + + #ifndef MY_CXT_CLONE +-#define MY_CXT_CLONE NOOP ++#define MY_CXT_CLONE NOOP + #endif + + #endif + + #ifndef IVdf + # if IVSIZE == LONGSIZE +-# define IVdf "ld" +-# define UVuf "lu" +-# define UVof "lo" +-# define UVxf "lx" +-# define UVXf "lX" ++# define IVdf "ld" ++# define UVuf "lu" ++# define UVof "lo" ++# define UVxf "lx" ++# define UVXf "lX" ++# elif IVSIZE == INTSIZE ++# define IVdf "d" ++# define UVuf "u" ++# define UVof "o" ++# define UVxf "x" ++# define UVXf "X" + # else +-# if IVSIZE == INTSIZE +-# define IVdf "d" +-# define UVuf "u" +-# define UVof "o" +-# define UVxf "x" +-# define UVXf "X" +-# endif ++# error "cannot define IV/UV formats" + # endif + #endif + +@@ -4667,26 +5263,26 @@ DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv) + + #ifndef SvREFCNT_inc + # ifdef PERL_USE_GCC_BRACE_GROUPS +-# define SvREFCNT_inc(sv) \ +- ({ \ +- SV * const _sv = (SV*)(sv); \ +- if (_sv) \ +- (SvREFCNT(_sv))++; \ +- _sv; \ ++# define SvREFCNT_inc(sv) \ ++ ({ \ ++ SV * const _sv = (SV*)(sv); \ ++ if (_sv) \ ++ (SvREFCNT(_sv))++; \ ++ _sv; \ + }) + # else +-# define SvREFCNT_inc(sv) \ ++# define SvREFCNT_inc(sv) \ + ((PL_Sv=(SV*)(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL) + # endif + #endif + + #ifndef SvREFCNT_inc_simple + # ifdef PERL_USE_GCC_BRACE_GROUPS +-# define SvREFCNT_inc_simple(sv) \ +- ({ \ +- if (sv) \ +- (SvREFCNT(sv))++; \ +- (SV *)(sv); \ ++# define SvREFCNT_inc_simple(sv) \ ++ ({ \ ++ if (sv) \ ++ (SvREFCNT(sv))++; \ ++ (SV *)(sv); \ + }) + # else + # define SvREFCNT_inc_simple(sv) \ +@@ -4696,11 +5292,11 @@ DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv) + + #ifndef SvREFCNT_inc_NN + # ifdef PERL_USE_GCC_BRACE_GROUPS +-# define SvREFCNT_inc_NN(sv) \ +- ({ \ +- SV * const _sv = (SV*)(sv); \ +- SvREFCNT(_sv)++; \ +- _sv; \ ++# define SvREFCNT_inc_NN(sv) \ ++ ({ \ ++ SV * const _sv = (SV*)(sv); \ ++ SvREFCNT(_sv)++; \ ++ _sv; \ + }) + # else + # define SvREFCNT_inc_NN(sv) \ +@@ -4710,11 +5306,11 @@ DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv) + + #ifndef SvREFCNT_inc_void + # ifdef PERL_USE_GCC_BRACE_GROUPS +-# define SvREFCNT_inc_void(sv) \ +- ({ \ +- SV * const _sv = (SV*)(sv); \ +- if (_sv) \ +- (void)(SvREFCNT(_sv)++); \ ++# define SvREFCNT_inc_void(sv) \ ++ ({ \ ++ SV * const _sv = (SV*)(sv); \ ++ if (_sv) \ ++ (void)(SvREFCNT(_sv)++); \ + }) + # else + # define SvREFCNT_inc_void(sv) \ +@@ -5074,6 +5670,11 @@ DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags) + #ifndef SvPV_nomg_const_nolen + # define SvPV_nomg_const_nolen(sv) SvPV_flags_const_nolen(sv, 0) + #endif ++ ++#ifndef SvPV_nomg_nolen ++# define SvPV_nomg_nolen(sv) ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ ++ ? SvPVX(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, 0)) ++#endif + #ifndef SvPV_renew + # define SvPV_renew(sv,n) STMT_START { SvLEN_set(sv, n); \ + SvPV_set((sv), (char *) saferealloc( \ +@@ -5314,6 +5915,12 @@ DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...) + } STMT_END + #endif + ++/* Hint: newSVpvn_share ++ * The SVs created by this function only mimic the behaviour of ++ * shared PVs without really being shared. Only use if you know ++ * what you're doing. ++ */ ++ + #ifndef newSVpvn_share + + #if defined(NEED_newSVpvn_share) +@@ -5359,6 +5966,33 @@ DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash) + #ifndef HvNAMELEN_get + # define HvNAMELEN_get(hv) (HvNAME_get(hv) ? (I32)strlen(HvNAME_get(hv)) : 0) + #endif ++ ++#ifndef gv_fetchpvn_flags ++#if defined(NEED_gv_fetchpvn_flags) ++static GV* DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types); ++static ++#else ++extern GV* DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types); ++#endif ++ ++#ifdef gv_fetchpvn_flags ++# undef gv_fetchpvn_flags ++#endif ++#define gv_fetchpvn_flags(a,b,c,d) DPPP_(my_gv_fetchpvn_flags)(aTHX_ a,b,c,d) ++#define Perl_gv_fetchpvn_flags DPPP_(my_gv_fetchpvn_flags) ++ ++#if defined(NEED_gv_fetchpvn_flags) || defined(NEED_gv_fetchpvn_flags_GLOBAL) ++ ++GV* ++DPPP_(my_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 + #ifndef GvSVn + # define GvSVn(gv) GvSV(gv) + #endif +@@ -5366,6 +6000,17 @@ DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash) + #ifndef isGV_with_GP + # define isGV_with_GP(gv) isGV(gv) + #endif ++ ++#ifndef gv_fetchsv ++# define gv_fetchsv(name, flags, svt) gv_fetchpv(SvPV_nolen_const(name), flags, svt) ++#endif ++#ifndef get_cvn_flags ++# define get_cvn_flags(name, namelen, flags) get_cv(name, flags) ++#endif ++ ++#ifndef gv_init_pvn ++# define gv_init_pvn(gv, stash, ptr, len, flags) gv_init(gv, stash, ptr, len, flags & GV_ADDMULTI ? TRUE : FALSE) ++#endif + #ifndef WARN_ALL + # define WARN_ALL 0 + #endif +@@ -5614,6 +6259,10 @@ DPPP_(my_warner)(U32 err, const char *pat, ...) + # define newSVpvs_flags(str, flags) newSVpvn_flags(str "", sizeof(str) - 1, flags) + #endif + ++#ifndef newSVpvs_share ++# define newSVpvs_share(str) newSVpvn_share(str "", sizeof(str) - 1, 0) ++#endif ++ + #ifndef sv_catpvs + # define sv_catpvs(sv, str) sv_catpvn(sv, str "", sizeof(str) - 1) + #endif +@@ -5629,10 +6278,6 @@ DPPP_(my_warner)(U32 err, const char *pat, ...) + #ifndef hv_stores + # define hv_stores(hv, key, val) hv_store(hv, key "", sizeof(key) - 1, val, 0) + #endif +-#ifndef gv_fetchpvn_flags +-# define gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt) +-#endif +- + #ifndef gv_fetchpvs + # define gv_fetchpvs(name, flags, svt) gv_fetchpvn_flags(name "", sizeof(name) - 1, flags, svt) + #endif +@@ -5640,9 +6285,31 @@ DPPP_(my_warner)(U32 err, const char *pat, ...) + #ifndef gv_stashpvs + # define gv_stashpvs(name, flags) gv_stashpvn(name "", sizeof(name) - 1, flags) + #endif ++#ifndef get_cvs ++# define get_cvs(name, flags) get_cvn_flags(name "", sizeof(name)-1, flags) ++#endif + #ifndef SvGETMAGIC + # define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END + #endif ++ ++/* Some random bits for sv_unmagicext. These should probably be pulled in for ++ real and organized at some point */ ++#ifndef HEf_SVKEY ++# define HEf_SVKEY -2 ++#endif ++ ++#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 ++#ifndef MUTABLE_SV ++# define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p)) ++#endif ++ ++/* end of random bits */ + #ifndef PERL_MAGIC_sv + # define PERL_MAGIC_sv '\0' + #endif +@@ -5958,6 +6625,100 @@ DPPP_(my_warner)(U32 err, const char *pat, ...) + + #endif + ++#if !defined(mg_findext) ++#if defined(NEED_mg_findext) ++static MAGIC * DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl); ++static ++#else ++extern MAGIC * DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl); ++#endif ++ ++#define mg_findext DPPP_(my_mg_findext) ++#define Perl_mg_findext DPPP_(my_mg_findext) ++ ++#if defined(NEED_mg_findext) || defined(NEED_mg_findext_GLOBAL) ++ ++MAGIC * ++DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl) { ++ if (sv) { ++ MAGIC *mg; ++ ++#ifdef AvPAD_NAMELIST ++ assert(!(SvTYPE(sv) == SVt_PVAV && AvPAD_NAMELIST(sv))); ++#endif ++ ++ for (mg = SvMAGIC (sv); mg; mg = mg->mg_moremagic) { ++ if (mg->mg_type == type && mg->mg_virtual == vtbl) ++ return mg; ++ } ++ } ++ ++ return NULL; ++} ++ ++#endif ++#endif ++ ++#if !defined(sv_unmagicext) ++#if defined(NEED_sv_unmagicext) ++static int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl); ++static ++#else ++extern int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl); ++#endif ++ ++#ifdef sv_unmagicext ++# undef sv_unmagicext ++#endif ++#define sv_unmagicext(a,b,c) DPPP_(my_sv_unmagicext)(aTHX_ a,b,c) ++#define Perl_sv_unmagicext DPPP_(my_sv_unmagicext) ++ ++#if defined(NEED_sv_unmagicext) || defined(NEED_sv_unmagicext_GLOBAL) ++ ++int ++DPPP_(my_sv_unmagicext)(pTHX_ SV *const sv, const int type, MGVTBL *vtbl) ++{ ++ MAGIC* mg; ++ MAGIC** mgp; ++ ++ if (SvTYPE(sv) < SVt_PVMG || !SvMAGIC(sv)) ++ return 0; ++ mgp = &(SvMAGIC(sv)); ++ for (mg = *mgp; mg; mg = *mgp) { ++ const MGVTBL* const virt = mg->mg_virtual; ++ if (mg->mg_type == type && virt == vtbl) { ++ *mgp = mg->mg_moremagic; ++ if (virt && virt->svt_free) ++ virt->svt_free(aTHX_ sv, mg); ++ if (mg->mg_ptr && mg->mg_type != PERL_MAGIC_regex_global) { ++ if (mg->mg_len > 0) ++ Safefree(mg->mg_ptr); ++ else if (mg->mg_len == HEf_SVKEY) /* Questionable on older perls... */ ++ SvREFCNT_dec(MUTABLE_SV(mg->mg_ptr)); ++ else if (mg->mg_type == PERL_MAGIC_utf8) ++ Safefree(mg->mg_ptr); ++ } ++ if (mg->mg_flags & MGf_REFCOUNTED) ++ SvREFCNT_dec(mg->mg_obj); ++ Safefree(mg); ++ } ++ else ++ mgp = &mg->mg_moremagic; ++ } ++ if (SvMAGIC(sv)) { ++ if (SvMAGICAL(sv)) /* if we're under save_magic, wait for restore_magic; */ ++ mg_magical(sv); /* else fix the flags now */ ++ } ++ else { ++ SvMAGICAL_off(sv); ++ SvFLAGS(sv) |= (SvFLAGS(sv) & (SVp_IOK|SVp_NOK|SVp_POK)) >> PRIVSHIFT; ++ } ++ return 0; ++} ++ ++#endif ++#endif ++ + #ifdef USE_ITHREADS + #ifndef CopFILE + # define CopFILE(c) ((c)->cop_file) +@@ -5997,8 +6758,8 @@ DPPP_(my_warner)(U32 err, const char *pat, ...) + + #ifndef CopSTASH_eq + # define CopSTASH_eq(c,hv) ((hv) && (CopSTASHPV(c) == HvNAME(hv) \ +- || (CopSTASHPV(c) && HvNAME(hv) \ +- && strEQ(CopSTASHPV(c), HvNAME(hv))))) ++ || (CopSTASHPV(c) && HvNAME(hv) \ ++ && strEQ(CopSTASHPV(c), HvNAME(hv))))) + #endif + + #else +@@ -6047,6 +6808,90 @@ DPPP_(my_warner)(U32 err, const char *pat, ...) + #endif + + #endif /* USE_ITHREADS */ ++ ++#if (PERL_BCDVERSION >= 0x5006000) ++#ifndef caller_cx ++ ++# if defined(NEED_caller_cx) || defined(NEED_caller_cx_GLOBAL) ++static I32 ++DPPP_dopoptosub_at(const PERL_CONTEXT *cxstk, I32 startingblock) ++{ ++ I32 i; ++ ++ for (i = startingblock; i >= 0; i--) { ++ register const PERL_CONTEXT * const cx = &cxstk[i]; ++ switch (CxTYPE(cx)) { ++ default: ++ continue; ++ case CXt_EVAL: ++ case CXt_SUB: ++ case CXt_FORMAT: ++ return i; ++ } ++ } ++ return i; ++} ++# endif ++ ++# if defined(NEED_caller_cx) ++static const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp); ++static ++#else ++extern const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp); ++#endif ++ ++#ifdef caller_cx ++# undef caller_cx ++#endif ++#define caller_cx(a,b) DPPP_(my_caller_cx)(aTHX_ a,b) ++#define Perl_caller_cx DPPP_(my_caller_cx) ++ ++#if defined(NEED_caller_cx) || defined(NEED_caller_cx_GLOBAL) ++ ++const PERL_CONTEXT * ++DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp) ++{ ++ register I32 cxix = DPPP_dopoptosub_at(cxstack, cxstack_ix); ++ register const PERL_CONTEXT *cx; ++ register const PERL_CONTEXT *ccstack = cxstack; ++ const PERL_SI *top_si = PL_curstackinfo; ++ ++ for (;;) { ++ /* we may be in a higher stacklevel, so dig down deeper */ ++ while (cxix < 0 && top_si->si_type != PERLSI_MAIN) { ++ top_si = top_si->si_prev; ++ ccstack = top_si->si_cxstack; ++ cxix = DPPP_dopoptosub_at(ccstack, top_si->si_cxix); ++ } ++ if (cxix < 0) ++ return NULL; ++ /* caller() should not report the automatic calls to &DB::sub */ ++ if (PL_DBsub && GvCV(PL_DBsub) && cxix >= 0 && ++ ccstack[cxix].blk_sub.cv == GvCV(PL_DBsub)) ++ count++; ++ if (!count--) ++ break; ++ cxix = DPPP_dopoptosub_at(ccstack, cxix - 1); ++ } ++ ++ cx = &ccstack[cxix]; ++ if (dbcxp) *dbcxp = cx; ++ ++ if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) { ++ const I32 dbcxix = DPPP_dopoptosub_at(ccstack, cxix - 1); ++ /* We expect that ccstack[dbcxix] is CXt_SUB, anyway, the ++ field below is defined for any cx. */ ++ /* caller() should not report the automatic calls to &DB::sub */ ++ if (PL_DBsub && GvCV(PL_DBsub) && dbcxix >= 0 && ccstack[dbcxix].blk_sub.cv == GvCV(PL_DBsub)) ++ cx = &ccstack[dbcxix]; ++ } ++ ++ return cx; ++} ++ ++# endif ++#endif /* caller_cx */ ++#endif /* 5.6.0 */ + #ifndef IN_PERL_COMPILETIME + # define IN_PERL_COMPILETIME (PL_curcop == &PL_compiling) + #endif +@@ -6222,7 +7067,7 @@ DPPP_(my_grok_number)(pTHX_ const char *pv, STRLEN len, UV *valuep) + digit = *s - '0'; + if (digit >= 0 && digit <= 9) { + value = value * 10 + digit; +- if (++s < send) { ++ if (++s < send) { + digit = *s - '0'; + if (digit >= 0 && digit <= 9) { + value = value * 10 + digit; +@@ -6270,7 +7115,7 @@ DPPP_(my_grok_number)(pTHX_ const char *pv, STRLEN len, UV *valuep) + } + } + } +- } ++ } + } + } + } +@@ -6282,7 +7127,7 @@ DPPP_(my_grok_number)(pTHX_ const char *pv, STRLEN len, UV *valuep) + } + } + } +- } ++ } + } + } + numtype |= IS_NUMBER_IN_UV; +@@ -6435,22 +7280,22 @@ DPPP_(my_grok_bin)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul + value_nv = (NV) value; + } + value_nv *= 2.0; +- /* If an NV has not enough bits in its mantissa to +- * represent a UV this summing of small low-order numbers +- * is a waste of time (because the NV cannot preserve +- * the low-order bits anyway): we could just remember when +- * did we overflow and in the end just multiply value_nv by the +- * right amount. */ ++ /* If an NV has not enough bits in its mantissa to ++ * represent a UV this summing of small low-order numbers ++ * is a waste of time (because the NV cannot preserve ++ * the low-order bits anyway): we could just remember when ++ * did we overflow and in the end just multiply value_nv by the ++ * right amount. */ + value_nv += (NV)(bit - '0'); + continue; + } + if (bit == '_' && len && allow_underscores && (bit = s[1]) + && (bit == '0' || bit == '1')) +- { +- --len; +- ++s; ++ { ++ --len; ++ ++s; + goto redo; +- } ++ } + if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) + warn("Illegal binary digit '%c' ignored", *s); + break; +@@ -6458,10 +7303,10 @@ DPPP_(my_grok_bin)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul + + if ( ( overflowed && value_nv > 4294967295.0) + #if UVSIZE > 4 +- || (!overflowed && value > 0xffffffff ) ++ || (!overflowed && value > 0xffffffff ) + #endif +- ) { +- warn("Binary number > 0b11111111111111111111111111111111 non-portable"); ++ ) { ++ warn("Binary number > 0b11111111111111111111111111111111 non-portable"); + } + *len_p = s - start; + if (!overflowed) { +@@ -6521,7 +7366,7 @@ DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul + } + + for (; len-- && *s; s++) { +- xdigit = strchr((char *) PL_hexdigit, *s); ++ xdigit = strchr((char *) PL_hexdigit, *s); + if (xdigit) { + /* Write it in this wonky order with a goto to attempt to get the + compiler to make the common case integer-only loop pretty tight. +@@ -6537,22 +7382,22 @@ DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul + value_nv = (NV) value; + } + value_nv *= 16.0; +- /* If an NV has not enough bits in its mantissa to +- * represent a UV this summing of small low-order numbers +- * is a waste of time (because the NV cannot preserve +- * the low-order bits anyway): we could just remember when +- * did we overflow and in the end just multiply value_nv by the +- * right amount of 16-tuples. */ ++ /* If an NV has not enough bits in its mantissa to ++ * represent a UV this summing of small low-order numbers ++ * is a waste of time (because the NV cannot preserve ++ * the low-order bits anyway): we could just remember when ++ * did we overflow and in the end just multiply value_nv by the ++ * right amount of 16-tuples. */ + value_nv += (NV)((xdigit - PL_hexdigit) & 15); + continue; + } + if (*s == '_' && len && allow_underscores && s[1] +- && (xdigit = strchr((char *) PL_hexdigit, s[1]))) +- { +- --len; +- ++s; ++ && (xdigit = strchr((char *) PL_hexdigit, s[1]))) ++ { ++ --len; ++ ++s; + goto redo; +- } ++ } + if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) + warn("Illegal hexadecimal digit '%c' ignored", *s); + break; +@@ -6560,10 +7405,10 @@ DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul + + if ( ( overflowed && value_nv > 4294967295.0) + #if UVSIZE > 4 +- || (!overflowed && value > 0xffffffff ) ++ || (!overflowed && value > 0xffffffff ) + #endif +- ) { +- warn("Hexadecimal number > 0xffffffff non-portable"); ++ ) { ++ warn("Hexadecimal number > 0xffffffff non-portable"); + } + *len_p = s - start; + if (!overflowed) { +@@ -6625,22 +7470,22 @@ DPPP_(my_grok_oct)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul + value_nv = (NV) value; + } + value_nv *= 8.0; +- /* If an NV has not enough bits in its mantissa to +- * represent a UV this summing of small low-order numbers +- * is a waste of time (because the NV cannot preserve +- * the low-order bits anyway): we could just remember when +- * did we overflow and in the end just multiply value_nv by the +- * right amount of 8-tuples. */ ++ /* If an NV has not enough bits in its mantissa to ++ * represent a UV this summing of small low-order numbers ++ * is a waste of time (because the NV cannot preserve ++ * the low-order bits anyway): we could just remember when ++ * did we overflow and in the end just multiply value_nv by the ++ * right amount of 8-tuples. */ + value_nv += (NV)digit; + continue; + } + if (digit == ('_' - '0') && len && allow_underscores + && (digit = s[1] - '0') && (digit >= 0 && digit <= 7)) +- { +- --len; +- ++s; ++ { ++ --len; ++ ++s; + goto redo; +- } ++ } + /* Allow \octal to work the DWIM way (that is, stop scanning + * as soon as non-octal characters are seen, complain only iff + * someone seems to want to use the digits eight and nine). */ +@@ -6653,10 +7498,10 @@ DPPP_(my_grok_oct)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *resul + + if ( ( overflowed && value_nv > 4294967295.0) + #if UVSIZE > 4 +- || (!overflowed && value > 0xffffffff ) ++ || (!overflowed && value > 0xffffffff ) + #endif +- ) { +- warn("Octal number > 037777777777 non-portable"); ++ ) { ++ warn("Octal number > 037777777777 non-portable"); + } + *len_p = s - start; + if (!overflowed) { +@@ -6698,7 +7543,7 @@ DPPP_(my_my_snprintf)(char *buffer, const Size_t len, const char *format, ...) + #endif + va_end(ap); + if (retval < 0 || (len > 0 && (Size_t)retval >= len)) +- Perl_croak(aTHX_ "panic: my_snprintf buffer overflow"); ++ Perl_croak(aTHX_ "panic: my_snprintf buffer overflow"); + return retval; + } + +@@ -6902,7 +7747,7 @@ DPPP_(my_pv_escape)(pTHX_ SV *dsv, char const * const str, + octbuf[0] = esc; + + if (!(flags & PERL_PV_ESCAPE_NOCLEAR)) +- sv_setpvs(dsv, ""); ++ sv_setpvs(dsv, ""); + + #if defined(is_utf8_string) && defined(utf8_to_uvchr) + if ((flags & PERL_PV_ESCAPE_UNI_DETECT) && is_utf8_string((U8*)pv, count)) +@@ -6912,59 +7757,59 @@ DPPP_(my_pv_escape)(pTHX_ SV *dsv, char const * const str, + for (; pv < end && (!max || wrote < max) ; pv += readsize) { + const UV u = + #if defined(is_utf8_string) && defined(utf8_to_uvchr) +- isuni ? utf8_to_uvchr((U8*)pv, &readsize) : ++ isuni ? utf8_to_uvchr((U8*)pv, &readsize) : + #endif +- (U8)*pv; ++ (U8)*pv; + const U8 c = (U8)u & 0xFF; + + if (u > 255 || (flags & PERL_PV_ESCAPE_ALL)) { + if (flags & PERL_PV_ESCAPE_FIRSTCHAR) + chsize = my_snprintf(octbuf, sizeof octbuf, +- "%"UVxf, u); ++ "%" UVxf, u); + else + chsize = my_snprintf(octbuf, sizeof octbuf, +- "%cx{%"UVxf"}", esc, u); ++ "%cx{%" UVxf "}", esc, u); + } else if (flags & PERL_PV_ESCAPE_NOBACKSLASH) { + chsize = 1; + } else { + if (c == dq || c == esc || !isPRINT(c)) { +- chsize = 2; ++ chsize = 2; + switch (c) { +- case '\\' : /* fallthrough */ +- case '%' : if (c == esc) +- octbuf[1] = esc; +- else +- chsize = 1; +- break; +- case '\v' : octbuf[1] = 'v'; break; +- case '\t' : octbuf[1] = 't'; break; +- case '\r' : octbuf[1] = 'r'; break; +- case '\n' : octbuf[1] = 'n'; break; +- case '\f' : octbuf[1] = 'f'; break; ++ case '\\' : /* fallthrough */ ++ case '%' : if (c == esc) ++ octbuf[1] = esc; ++ else ++ chsize = 1; ++ break; ++ case '\v' : octbuf[1] = 'v'; break; ++ case '\t' : octbuf[1] = 't'; break; ++ case '\r' : octbuf[1] = 'r'; break; ++ case '\n' : octbuf[1] = 'n'; break; ++ case '\f' : octbuf[1] = 'f'; break; + case '"' : if (dq == '"') +- octbuf[1] = '"'; +- else +- chsize = 1; +- break; +- default: chsize = my_snprintf(octbuf, sizeof octbuf, +- pv < end && isDIGIT((U8)*(pv+readsize)) +- ? "%c%03o" : "%c%o", esc, c); ++ octbuf[1] = '"'; ++ else ++ chsize = 1; ++ break; ++ default: chsize = my_snprintf(octbuf, sizeof octbuf, ++ pv < end && isDIGIT((U8)*(pv+readsize)) ++ ? "%c%03o" : "%c%o", esc, c); + } + } else { + chsize = 1; + } +- } +- if (max && wrote + chsize > max) { +- break; ++ } ++ if (max && wrote + chsize > max) { ++ break; + } else if (chsize > 1) { + sv_catpvn(dsv, octbuf, chsize); + wrote += chsize; +- } else { +- char tmp[2]; +- my_snprintf(tmp, sizeof tmp, "%c", c); ++ } else { ++ char tmp[2]; ++ my_snprintf(tmp, sizeof tmp, "%c", c); + sv_catpvn(dsv, tmp, 1); +- wrote++; +- } ++ wrote++; ++ } + if (flags & PERL_PV_ESCAPE_FIRSTCHAR) + break; + } +@@ -7001,7 +7846,7 @@ DPPP_(my_pv_pretty)(pTHX_ SV *dsv, char const * const str, const STRLEN count, + STRLEN escaped; + + if (!(flags & PERL_PV_PRETTY_NOCLEAR)) +- sv_setpvs(dsv, ""); ++ sv_setpvs(dsv, ""); + + if (dq == '"') + sv_catpvs(dsv, "\""); +@@ -7017,12 +7862,12 @@ DPPP_(my_pv_pretty)(pTHX_ SV *dsv, char const * const str, const STRLEN count, + sv_catpv(dsv, D_PPP_CONSTPV_ARG(end_color)); + + if (dq == '"') +- sv_catpvs(dsv, "\""); ++ sv_catpvs(dsv, "\""); + else if (flags & PERL_PV_PRETTY_LTGT) + sv_catpvs(dsv, ">"); + + if ((flags & PERL_PV_PRETTY_ELLIPSES) && escaped < count) +- sv_catpvs(dsv, "..."); ++ sv_catpvs(dsv, "..."); + + return SvPVX(dsv); + } +@@ -7051,7 +7896,7 @@ DPPP_(my_pv_display)(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRL + { + pv_pretty(dsv, pv, cur, pvlim, NULL, NULL, PERL_PV_PRETTY_DUMP); + if (len > cur && pv[cur] == '\0') +- sv_catpvs(dsv, "\\0"); ++ sv_catpvs(dsv, "\\0"); + return SvPVX(dsv); + } + +diff --git a/smartmatch.xs b/smartmatch.xs +index a6bec4f..aea1b97 100644 +--- a/smartmatch.xs ++++ b/smartmatch.xs +@@ -49,7 +49,7 @@ smartmatch_cb(pTHX_ OP *o, void *user_data) + } + + left = cBINOPo->op_first; +- right = left->op_sibling; ++ right = OpSIBLING(left); + + o->op_flags &= ~OPf_KIDS; + op_free(o); +-- +2.9.4 + -- cgit v1.1 https://src.fedoraproject.org/cgit/perl-smartmatch.git/commit/?h=master&id=5b78c98efc196a63c96d9f7c21bc3142b03e309c _______________________________________________ perl-devel mailing list -- perl-devel@lists.fedoraproject.org To unsubscribe send an email to perl-devel-le...@lists.fedoraproject.org