From a2494a4034043d11d646dff421e358b6130ac303 Mon Sep 17 00:00:00 2001
From: Slaven Rezic <slaven@rezic.de>
Date: Wed, 8 Jun 2016 20:42:15 +0200
Subject: [PATCH 1/2] import ppport.h from Devel:PPPort 3.33

---
 ppport.h | 387 +++++++++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 278 insertions(+), 109 deletions(-)

diff --git a/ppport.h b/ppport.h
index 5e9d841..f0a70c5 100644
--- a/ppport.h
+++ b/ppport.h
@@ -4,9 +4,9 @@
 /*
 ----------------------------------------------------------------------
 
-    ppport.h -- Perl/Pollution/Portability Version 3.28
+    ppport.h -- Perl/Pollution/Portability Version 3.33
 
-    Automatically created by Devel::PPPort running under perl 5.018002.
+    Automatically created by Devel::PPPort running under perl 5.024000.
 
     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.28
+ppport.h - Perl/Pollution/Portability version 3.33
 
 =head1 SYNOPSIS
 
@@ -219,6 +219,7 @@ 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
@@ -226,6 +227,7 @@ same function or variable in your project.
     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
@@ -381,7 +383,7 @@ use strict;
 # Disable broken TRIE-optimization
 BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if $] >= 5.009004 && $] <= 5.009005 }
 
-my $VERSION = 3.28;
+my $VERSION = 3.33;
 
 my %opt = (
   quiet     => 0,
@@ -451,9 +453,9 @@ my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/
 ASCII_TO_NEED||5.007001|n
 AvFILLp|5.004050||p
 AvFILL|||
-BhkDISABLE||5.021008|
-BhkENABLE||5.021008|
-BhkENTRY_set||5.021008|
+BhkDISABLE||5.024000|
+BhkENABLE||5.024000|
+BhkENTRY_set||5.024000|
 BhkENTRY|||
 BhkFLAGS|||
 CALL_BLOCK_HOOKS|||
@@ -461,6 +463,8 @@ 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
@@ -477,8 +481,10 @@ Copy|||
 CvPADLIST||5.008001|
 CvSTASH|||
 CvWEAKOUTSIDE|||
+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
@@ -500,7 +506,6 @@ GetVars|||
 GvAV|||
 GvCV|||
 GvHV|||
-GvSVn|5.009003||p
 GvSV|||
 Gv_AMupdate||5.011000|
 HEf_SVKEY|5.003070||p
@@ -539,7 +544,7 @@ LEAVE|||
 LINKLIST||5.013006|
 LVRET|||
 MARK|||
-MULTICALL||5.021008|
+MULTICALL||5.024000|
 MUTABLE_PTR|5.010001||p
 MUTABLE_SV|5.010001||p
 MY_CXT_CLONE|5.009002||p
@@ -568,9 +573,11 @@ OP_NAME||5.007003|
 OP_TYPE_IS_OR_WAS||5.019010|
 OP_TYPE_IS||5.019007|
 ORIGMARK|||
-OpHAS_SIBLING||5.021007|
-OpSIBLING_set||5.021007|
-OpSIBLING||5.021007|
+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|||
@@ -590,7 +597,7 @@ PAD_SV|||
 PERLIO_FUNCS_CAST|5.009003||p
 PERLIO_FUNCS_DECL|5.009003||p
 PERL_ABS|5.008001||p
-PERL_BCDVERSION|5.021008||p
+PERL_BCDVERSION|5.024000||p
 PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p
 PERL_HASH|5.003070||p
 PERL_INT_MAX|5.003070||p
@@ -608,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.021008||p
+PERL_MAGIC_glob|5.024000||p
 PERL_MAGIC_isaelem|5.007002||p
 PERL_MAGIC_isa|5.007002||p
-PERL_MAGIC_mutex|5.021008||p
+PERL_MAGIC_mutex|5.024000||p
 PERL_MAGIC_nkeys|5.007002||p
-PERL_MAGIC_overload_elem|5.021008||p
+PERL_MAGIC_overload_elem|5.024000||p
 PERL_MAGIC_overload_table|5.007002||p
-PERL_MAGIC_overload|5.021008||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
@@ -663,7 +670,7 @@ PERL_SIGNALS_UNSAFE_FLAG|5.008001||p
 PERL_SUBVERSION|5.006000||p
 PERL_SYS_INIT3||5.006000|
 PERL_SYS_INIT|||
-PERL_SYS_TERM||5.021008|
+PERL_SYS_TERM||5.024000|
 PERL_UCHAR_MAX|5.003070||p
 PERL_UCHAR_MIN|5.003070||p
 PERL_UINT_MAX|5.003070||p
@@ -673,6 +680,7 @@ 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.003070||p
 PERL_UQUAD_MIN|5.003070||p
@@ -685,13 +693,13 @@ PL_DBsingle|||pn
 PL_DBsub|||pn
 PL_DBtrace|||pn
 PL_Sv|5.005000||p
-PL_bufend|5.021008||p
-PL_bufptr|5.021008||p
+PL_bufend|5.024000||p
+PL_bufptr|5.024000||p
 PL_check||5.006000|
 PL_compiling|5.004050||p
 PL_comppad_name||5.017004|
 PL_comppad||5.008001|
-PL_copline|5.021008||p
+PL_copline|5.024000||p
 PL_curcop|5.004050||p
 PL_curpad||5.005000|
 PL_curstash|5.004050||p
@@ -701,18 +709,18 @@ PL_diehook|5.004050||p
 PL_dirty|5.004050||p
 PL_dowarn|||pn
 PL_errgv|5.004050||p
-PL_error_count|5.021008||p
-PL_expect|5.021008||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.021008||p
-PL_in_my|5.021008||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.021008||p
-PL_lex_stuff|5.021008||p
-PL_linestr|5.021008||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
@@ -724,8 +732,8 @@ PL_perl_destruct_level|5.004050||p
 PL_perldb|5.004050||p
 PL_ppaddr|5.006000||p
 PL_rpeepp||5.013005|n
-PL_rsfp_filters|5.021008||p
-PL_rsfp|5.021008||p
+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
@@ -738,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.021008||p
-POP_MULTICALL||5.021008|
+PL_tokenbuf|5.024000||p
+POP_MULTICALL||5.024000|
 POPi|||n
 POPl|||n
 POPn|||n
@@ -747,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
@@ -754,7 +764,7 @@ PTR2nat|5.009003||p
 PTR2ul|5.007001||p
 PTRV|5.006000||p
 PUSHMARK|||
-PUSH_MULTICALL||5.021008|
+PUSH_MULTICALL||5.024000|
 PUSHi|||
 PUSHmortal|5.009002||p
 PUSHn|||
@@ -762,29 +772,29 @@ PUSHp|||
 PUSHs|||
 PUSHu|5.004000||p
 PUTBACK|||
-PadARRAY||5.021008|
-PadMAX||5.021008|
-PadlistARRAY||5.021008|
-PadlistMAX||5.021008|
-PadlistNAMESARRAY||5.021008|
-PadlistNAMESMAX||5.021008|
-PadlistNAMES||5.021008|
+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.021008|
+PadnameLEN||5.024000|
 PadnameOURSTASH|||
 PadnameOUTER|||
-PadnamePV||5.021008|
-PadnameREFCNT_dec||5.021008|
-PadnameREFCNT||5.021008|
-PadnameSV||5.021008|
+PadnamePV||5.024000|
+PadnameREFCNT_dec||5.024000|
+PadnameREFCNT||5.024000|
+PadnameSV||5.024000|
 PadnameTYPE|||
 PadnameUTF8||5.021007|
-PadnamelistARRAY||5.021008|
-PadnamelistMAX||5.021008|
-PadnamelistREFCNT_dec||5.021008|
-PadnamelistREFCNT||5.021008|
+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|
@@ -816,6 +826,7 @@ 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|||
@@ -830,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
@@ -967,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|
@@ -1002,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
@@ -1011,7 +1026,7 @@ UVuf|5.006000||p
 UVxf|5.006000||p
 WARN_ALL|5.006000||p
 WARN_AMBIGUOUS|5.006000||p
-WARN_ASSERTIONS|5.021008||p
+WARN_ASSERTIONS|5.024000||p
 WARN_BAREWORD|5.006000||p
 WARN_CLOSED|5.006000||p
 WARN_CLOSURE|5.006000||p
@@ -1084,18 +1099,18 @@ XST_mPV|||
 XST_mUNDEF|||
 XST_mUV|5.008001||p
 XST_mYES|||
-XS_APIVERSION_BOOTCHECK||5.021008|
-XS_EXTERNAL||5.021008|
-XS_INTERNAL||5.021008|
-XS_VERSION_BOOTCHECK||5.021008|
+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.021008|
-XopENABLE||5.021008|
-XopENTRYCUSTOM||5.021008|
-XopENTRY_set||5.021008|
-XopENTRY||5.021008|
+XopDISABLE||5.024000|
+XopENABLE||5.024000|
+XopENTRYCUSTOM||5.024000|
+XopENTRY_set||5.024000|
+XopENTRY||5.024000|
 XopFLAGS||5.013007|
 ZeroD|5.009002||p
 Zero|||
@@ -1106,9 +1121,9 @@ _core_swash_init|||
 _get_encoding|||
 _get_regclass_nonbitmap_data|||
 _get_swash_invlist|||
+_invlistEQ|||
 _invlist_array_init|||n
 _invlist_contains_cp|||n
-_invlist_contents|||
 _invlist_dump|||
 _invlist_intersection_maybe_complement_2nd|||
 _invlist_intersection|||
@@ -1138,29 +1153,34 @@ _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.021008||p
-aTHXR|5.021008||p
+aTHXR_|5.024000||p
+aTHXR|5.024000||p
 aTHX_|5.006000||p
 aTHX|5.006000||p
-aassign_common_vars|||
 add_above_Latin1_folds|||
 add_cp_to_invlist|||
 add_data|||n
 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|||
@@ -1206,6 +1226,9 @@ av_top_index||5.017009|
 av_undef|||
 av_unshift|||
 ax|||n
+backup_one_LB|||
+backup_one_SB|||
+backup_one_WB|||
 bad_type_gv|||
 bad_type_pv|||
 bind_match|||
@@ -1219,8 +1242,8 @@ 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|
@@ -1249,6 +1272,7 @@ ck_warner||5.011001|v
 ckwarn_common|||
 ckwarn_d||5.009003|
 ckwarn||5.009003|
+clear_defarray||5.023008|
 clear_placeholders|||
 clear_special_blocks|||
 clone_params_del|||n
@@ -1276,14 +1300,13 @@ cophh_fetch_pvs||5.013007|
 cophh_fetch_pv||5.013007|
 cophh_fetch_sv||5.013007|
 cophh_free||5.013007|
-cophh_new_empty||5.021008|
+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|||
-could_it_be_a_POSIX_class|||n
 cr_textfilter|||
 create_eval_scope|||
 croak_memory_wrap||5.019003|n
@@ -1320,6 +1343,24 @@ 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
@@ -1332,7 +1373,7 @@ dNOOP|5.006000||p
 dORIGMARK|||
 dSP|||
 dTHR|5.004050||p
-dTHXR|5.021008||p
+dTHXR|5.024000||p
 dTHXa|5.006000||p
 dTHXoa|5.006000||p
 dTHX|5.006000||p
@@ -1420,7 +1461,7 @@ do_vecget|||
 do_vecset|||
 do_vop|||
 docatch|||
-doeval|||
+doeval_compile|||
 dofile|||
 dofindlabel|||
 doform|||
@@ -1429,7 +1470,7 @@ dooneliner|||
 doopen_pm|||
 doparseform|||
 dopoptoeval|||
-dopoptogiven|||
+dopoptogivenfor|||
 dopoptolabel|||
 dopoptoloop|||
 dopoptosub_at|||
@@ -1439,6 +1480,10 @@ 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|||
@@ -1458,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
@@ -1482,7 +1528,6 @@ find_in_my_stash|||
 find_lexical_cv|||
 find_runcv_where|||
 find_runcv||5.008001|
-find_rundefsv2|||
 find_rundefsvoffset||5.009002|
 find_rundefsv||5.013002|
 find_script|||
@@ -1521,7 +1566,7 @@ get_av|5.006000||p
 get_c_backtrace_dump|||
 get_c_backtrace|||
 get_context||5.006000|n
-get_cvn_flags|5.009005||p
+get_cvn_flags|||
 get_cvs|5.011000||p
 get_cv|5.006000||p
 get_db_sub|||
@@ -1548,14 +1593,14 @@ glob_assign_glob|||
 gp_dup|||
 gp_free|||
 gp_ref|||
-grok_atou||5.021004|n
+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|n
+grok_infnan||5.021004|
 grok_number_flags||5.021002|
 grok_number|5.007002||p
 grok_numeric_radix|5.007002||p
@@ -1565,7 +1610,7 @@ gv_AVadd|||
 gv_HVadd|||
 gv_IOadd|||
 gv_SVadd|||
-gv_add_by_type_p|||
+gv_add_by_type||5.011000|
 gv_autoload4||5.004000|
 gv_autoload_pvn||5.015004|
 gv_autoload_pv||5.015004|
@@ -1595,12 +1640,12 @@ gv_fetchmeth|||
 gv_fetchpvn_flags|5.009002||p
 gv_fetchpvs|5.009004||p
 gv_fetchpv|||
-gv_fetchsv|5.009002||p
+gv_fetchsv|||
 gv_fullname3||5.003070|
 gv_fullname4||5.006001|
 gv_fullname|||
 gv_handler||5.007001|
-gv_init_pvn||5.015004|
+gv_init_pvn|||
 gv_init_pv||5.015004|
 gv_init_svtype|||
 gv_init_sv||5.015004|
@@ -1618,6 +1663,8 @@ gv_stashpv|||
 gv_stashsvpvn_cached|||
 gv_stashsv|||
 gv_try_downgrade|||
+handle_named_backref|||
+handle_possible_posix|||
 handle_regex_sets|||
 he_dup|||
 hek_dup|||
@@ -1705,7 +1752,9 @@ intuit_method|||
 intuit_more|||
 invert|||
 invlist_array|||n
+invlist_clear|||
 invlist_clone|||
+invlist_contents|||
 invlist_extend|||
 invlist_highest|||n
 invlist_is_iterating|||n
@@ -1714,6 +1763,7 @@ 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
@@ -1729,19 +1779,22 @@ 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|||
@@ -1818,7 +1871,7 @@ jmaybe|||
 join_exact|||
 keyword_plugin_standard|||
 keyword|||
-leave_common|||
+leave_adjust_stacks||5.023008|
 leave_scope|||
 lex_bufutf8||5.011002|
 lex_discard_to||5.011002|
@@ -1925,7 +1978,10 @@ 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|
@@ -1970,10 +2026,12 @@ 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_bcopy||5.004050|n
+my_bytes_to_utf8|||n
 my_bzero|||n
 my_chsize|||
 my_clearenv|||
@@ -1987,7 +2045,7 @@ my_fflush_all||5.006000|
 my_fork||5.007003|n
 my_kid|||
 my_lstat_flags|||
-my_lstat||5.021008|
+my_lstat||5.024000|
 my_memcmp|||n
 my_memset|||n
 my_pclose||5.003070|
@@ -1999,7 +2057,7 @@ my_snprintf|5.009004||pvn
 my_socketpair||5.007003|n
 my_sprintf|5.009003||pvn
 my_stat_flags|||
-my_stat||5.021008|
+my_stat||5.024000|
 my_strerror||5.021001|
 my_strftime||5.007002|
 my_strlcat|5.009004||pn
@@ -2128,7 +2186,7 @@ op_linklist||5.013006|
 op_lvalue_flags|||
 op_lvalue||5.013007|
 op_null||5.007002|
-op_parent||5.021002|n
+op_parent|||n
 op_prepend_elem||5.013006|
 op_refcnt_dec|||
 op_refcnt_inc|||
@@ -2146,6 +2204,7 @@ 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
@@ -2245,6 +2304,8 @@ ptr_table_new||5.009005|
 ptr_table_split||5.009005|
 ptr_table_store||5.009005|
 push_scope|||
+put_charclass_bitmap_innards_common|||
+put_charclass_bitmap_innards_invlist|||
 put_charclass_bitmap_innards|||
 put_code_point|||
 put_range|||
@@ -2259,14 +2320,17 @@ quadmath_format_single|||n
 re_compile||5.009005|
 re_croak2|||
 re_dup_guts|||
+re_exec_indentf|||v
+re_indentf|||v
 re_intuit_start||5.019001|
 re_intuit_string||5.006000|
 re_op_compile|||
+re_printf|||v
 realloc||5.007002|n
-reentrant_free||5.021008|
-reentrant_init||5.021008|
-reentrant_retry||5.021008|vn
-reentrant_size||5.021008|
+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_pvn|||
@@ -2282,7 +2346,7 @@ refcounted_he_new_sv|||
 refcounted_he_value|||
 refkids|||
 refto|||
-ref||5.021008|
+ref||5.024000|
 reg2Lanode|||
 reg_check_named_buff_matched|||n
 reg_named_buff_all||5.009005|
@@ -2314,6 +2378,7 @@ regdump_extflags|||
 regdump_intflags|||
 regdump||5.005000|
 regdupe_internal|||
+regex_set_precedence|||n
 regexec_flags||5.005000|
 regfree_internal||5.009005|
 reghop3|||n
@@ -2325,9 +2390,7 @@ reginsert|||
 regmatch|||
 regnext||5.005000|
 regnode_guts|||
-regpatws|||n
 regpiece|||
-regpposixcc|||
 regprop|||
 regrepeat|||
 regtail_study|||
@@ -2368,7 +2431,6 @@ save_I8||5.006000|
 save_adelete||5.011000|
 save_aelem_flags||5.011000|
 save_aelem||5.004050|
-save_aliased_sv|||
 save_alloc||5.006000|
 save_aptr|||
 save_ary|||
@@ -2425,6 +2487,7 @@ savesharedsvpv||5.013006|
 savestack_grow_cnt||5.008001|
 savestack_grow|||
 savesvpv||5.009002|
+savetmps||5.023008|
 sawparens|||
 scalar_mod_type|||n
 scalarboolean|||
@@ -2466,6 +2529,7 @@ should_warn_nl|||n
 si_dup|||
 sighandler|||n
 simplify_sort|||
+skip_to_be_ignored_text|||
 skipspace_flags|||
 softref2xv|||
 sortcv_stacked|||
@@ -2592,7 +2656,7 @@ sv_force_normal||5.006000|
 sv_free2|||
 sv_free_arenas|||
 sv_free|||
-sv_get_backrefs||5.021008|
+sv_get_backrefs||5.021008|n
 sv_gets||5.003070|
 sv_grow|||
 sv_i_ncmp|||
@@ -2607,7 +2671,7 @@ sv_kill_backrefs|||
 sv_len_utf8_nomg|||
 sv_len_utf8||5.006000|
 sv_len|||
-sv_magic_portable|5.021008|5.004000|p
+sv_magic_portable|5.024000|5.004000|p
 sv_magicext_mglob|||
 sv_magicext||5.007003|
 sv_magic|||
@@ -2620,6 +2684,7 @@ 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|
@@ -2643,8 +2708,7 @@ sv_pvutf8||5.006000|
 sv_pv||5.006000|
 sv_recode_to_utf8||5.007003|
 sv_reftype|||
-sv_ref|||
-sv_release_COW|||
+sv_ref||5.015004|
 sv_replace|||
 sv_report_used|||
 sv_resetpvn|||
@@ -2670,7 +2734,7 @@ sv_setpv|||
 sv_setref_iv|||
 sv_setref_nv|||
 sv_setref_pvn|||
-sv_setref_pvs||5.021008|
+sv_setref_pvs||5.024000|
 sv_setref_pv|||
 sv_setref_uv||5.007001|
 sv_setsv_cow|||
@@ -2726,19 +2790,19 @@ taint_env|||
 taint_proper|||
 tied_method|||v
 tmps_grow_p|||
-toFOLD_uni||5.007003|
 toFOLD_utf8||5.019001|
+toFOLD_uvchr||5.023009|
 toFOLD||5.019001|
 toLOWER_L1||5.019001|
 toLOWER_LC||5.004000|
-toLOWER_uni||5.007003|
 toLOWER_utf8||5.015007|
+toLOWER_uvchr||5.023009|
 toLOWER|||
-toTITLE_uni||5.007003|
 toTITLE_utf8||5.015007|
+toTITLE_uvchr||5.023009|
 toTITLE||5.019001|
-toUPPER_uni||5.007003|
 toUPPER_utf8||5.015007|
+toUPPER_uvchr||5.023009|
 toUPPER|||
 to_byte_substr|||
 to_lower_latin1|||n
@@ -2765,7 +2829,6 @@ try_amagic_bin|||
 try_amagic_un|||
 uiv_2buf|||n
 unlnk|||
-unop_aux_stringify|||
 unpack_rec|||
 unpack_str||5.007003|
 unpackstring||5.008001|
@@ -4138,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
@@ -4171,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
@@ -4505,6 +4637,13 @@ typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*);
 #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
 
@@ -4625,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
@@ -5827,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
@@ -5835,16 +6001,16 @@ DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash)
 #  define isGV_with_GP(gv)               isGV(gv)
 #endif
 
-#ifndef gv_fetchpvn_flags
-#  define gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt)
-#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
@@ -6132,13 +6298,16 @@ DPPP_(my_warner)(U32 err, const char *pat, ...)
 #  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
-
-#define MUTABLE_SV(p)   ((SV *)MUTABLE_PTR(p))
+#endif
+#ifndef MUTABLE_SV
+#  define MUTABLE_SV(p)                  ((SV *)MUTABLE_PTR(p))
+#endif
 
 /* end of random bits */
 #ifndef PERL_MAGIC_sv
-- 
2.1.2


From 43e384654bf2b9d8052cc11d32f025796d599fb0 Mon Sep 17 00:00:00 2001
From: Slaven Rezic <slaven@rezic.de>
Date: Wed, 8 Jun 2016 20:43:29 +0200
Subject: [PATCH 2/2] use new *SIBLING macros for perl 5.25.1 (fix for #4)

---
 autobox.xs | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/autobox.xs b/autobox.xs
index 7a880db..83bebd0 100644
--- a/autobox.xs
+++ b/autobox.xs
@@ -28,12 +28,12 @@ OP * autobox_ck_subr(pTHX_ OP *o) {
      * XXX this is fixed in #33311: http://www.nntp.perl.org/group/perl.perl5.porters/2008/02/msg134131.html
      */
     if ((PL_hints & 0x80020000) == 0x80020000) {
-        UNOP *parent = (cUNOPo->op_first->op_sibling) ? cUNOPo : ((UNOP*)cUNOPo->op_first);
+        UNOP *parent = (OpHAS_SIBLING(cUNOPo->op_first)) ? cUNOPo : ((UNOP*)cUNOPo->op_first);
         OP *prev = parent->op_first;
-        OP *o2 = prev->op_sibling;
+        OP *o2 = OpSIBLING(prev);
         OP *cvop;
 
-        for (cvop = o2; cvop->op_sibling; cvop = cvop->op_sibling);
+        for (cvop = o2; OpHAS_SIBLING(cvop); cvop = OpSIBLING(cvop));
 
         /* don't autobox if the receiver is a bareword */
         if ((cvop->op_type == OP_METHOD) || ((cvop->op_type == OP_METHOD_NAMED) && !(o2->op_private & OPpCONST_BARE))) {
-- 
2.1.2

