This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[MERGE] Stable tracking of "boolean intent" across SVs
[perl5.git] / embed.h
diff --git a/embed.h b/embed.h
index a1dfb26..d91fa3c 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -59,6 +59,7 @@
 #define av_exists(a,b)         Perl_av_exists(aTHX_ a,b)
 #define av_extend(a,b)         Perl_av_extend(aTHX_ a,b)
 #define av_fetch(a,b,c)                Perl_av_fetch(aTHX_ a,b,c)
+#define av_fetch_simple(a,b,c) Perl_av_fetch_simple(aTHX_ a,b,c)
 #define av_fill(a,b)           Perl_av_fill(aTHX_ a,b)
 #define av_len(a)              Perl_av_len(aTHX_ a)
 #define av_make(a,b)           Perl_av_make(aTHX_ a,b)
@@ -67,6 +68,7 @@
 #define av_push(a,b)           Perl_av_push(aTHX_ a,b)
 #define av_shift(a)            Perl_av_shift(aTHX_ a)
 #define av_store(a,b,c)                Perl_av_store(aTHX_ a,b,c)
+#define av_store_simple(a,b,c) Perl_av_store_simple(aTHX_ a,b,c)
 #define av_undef(a)            Perl_av_undef(aTHX_ a)
 #define av_unshift(a,b)                Perl_av_unshift(aTHX_ a,b)
 #define block_end(a,b)         Perl_block_end(aTHX_ a,b)
 #define ck_entersub_args_list(a)       Perl_ck_entersub_args_list(aTHX_ a)
 #define ck_entersub_args_proto(a,b,c)  Perl_ck_entersub_args_proto(aTHX_ a,b,c)
 #define ck_entersub_args_proto_or_list(a,b,c)  Perl_ck_entersub_args_proto_or_list(aTHX_ a,b,c)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define ck_warner              Perl_ck_warner
 #define ck_warner_d            Perl_ck_warner_d
 #endif
 #define clear_defarray(a,b)    Perl_clear_defarray(aTHX_ a,b)
 #define cop_fetch_label(a,b,c) Perl_cop_fetch_label(aTHX_ a,b,c)
 #define cop_store_label(a,b,c,d)       Perl_cop_store_label(aTHX_ a,b,c,d)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define croak                  Perl_croak
 #endif
 #define croak_memory_wrap      Perl_croak_memory_wrap
 #define cv_undef(a)            Perl_cv_undef(aTHX_ a)
 #define cx_dump(a)             Perl_cx_dump(aTHX_ a)
 #define cxinc()                        Perl_cxinc(aTHX)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define deb                    Perl_deb
 #endif
 #define debop(a)               Perl_debop(aTHX_ a)
 #define debstackptrs()         Perl_debstackptrs(aTHX)
 #define delimcpy               Perl_delimcpy
 #define despatch_signals()     Perl_despatch_signals(aTHX)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define die                    Perl_die
 #endif
 #define die_sv(a)              Perl_die_sv(aTHX_ a)
 #define dump_all()             Perl_dump_all(aTHX)
 #define dump_eval()            Perl_dump_eval(aTHX)
 #define dump_form(a)           Perl_dump_form(aTHX_ a)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define dump_indent            Perl_dump_indent
 #endif
 #define dump_packsubs(a)       Perl_dump_packsubs(aTHX_ a)
 #define foldEQ_latin1          Perl_foldEQ_latin1
 #define foldEQ_locale          Perl_foldEQ_locale
 #define foldEQ_utf8_flags(a,b,c,d,e,f,g,h,i)   Perl_foldEQ_utf8_flags(aTHX_ a,b,c,d,e,f,g,h,i)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define form                   Perl_form
 #endif
 #define free_tmps()            Perl_free_tmps(aTHX)
 #define isC9_STRICT_UTF8_CHAR  Perl_isC9_STRICT_UTF8_CHAR
 #define isSTRICT_UTF8_CHAR     Perl_isSTRICT_UTF8_CHAR
 #define isUTF8_CHAR            Perl_isUTF8_CHAR
+#define isUTF8_CHAR_flags      Perl_isUTF8_CHAR_flags
 #define is_c9strict_utf8_string_loclen Perl_is_c9strict_utf8_string_loclen
 #define is_lvalue_sub()                Perl_is_lvalue_sub(aTHX)
 #define is_safe_syscall(a,b,c,d)       Perl_is_safe_syscall(aTHX_ a,b,c,d)
 #define is_strict_utf8_string_loclen   Perl_is_strict_utf8_string_loclen
+#define is_utf8_FF_helper_     Perl_is_utf8_FF_helper_
 #ifndef NO_MATHOMS
 #define is_utf8_char           Perl_is_utf8_char
 #endif
-#define is_utf8_char_helper    Perl_is_utf8_char_helper
+#define is_utf8_char_helper_   Perl_is_utf8_char_helper_
 #define is_utf8_fixed_width_buf_loclen_flags   Perl_is_utf8_fixed_width_buf_loclen_flags
 #define is_utf8_invariant_string_loc   Perl_is_utf8_invariant_string_loc
 #define is_utf8_string_flags   Perl_is_utf8_string_flags
 #define lex_stuff_pvn(a,b,c)   Perl_lex_stuff_pvn(aTHX_ a,b,c)
 #define lex_stuff_sv(a,b)      Perl_lex_stuff_sv(aTHX_ a,b)
 #define lex_unstuff(a)         Perl_lex_unstuff(aTHX_ a)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define load_module            Perl_load_module
 #endif
 #define looks_like_number(a)   Perl_looks_like_number(aTHX_ a)
+#define lsbit_pos32            Perl_lsbit_pos32
 #define magic_dump(a)          Perl_magic_dump(aTHX_ a)
 #define markstack_grow()       Perl_markstack_grow(aTHX)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define mess                   Perl_mess
 #endif
 #define mess_sv(a,b)           Perl_mess_sv(aTHX_ a,b)
 #define mortal_getenv          Perl_mortal_getenv
 #define mro_get_linear_isa(a)  Perl_mro_get_linear_isa(aTHX_ a)
 #define mro_method_changed_in(a)       Perl_mro_method_changed_in(aTHX_ a)
+#define msbit_pos32            Perl_msbit_pos32
 #define my_atof(a)             Perl_my_atof(aTHX_ a)
 #define my_atof3(a,b,c)                Perl_my_atof3(aTHX_ a,b,c)
 #define my_dirfd               Perl_my_dirfd
 #define newCONSTSUB(a,b,c)     Perl_newCONSTSUB(aTHX_ a,b,c)
 #define newCONSTSUB_flags(a,b,c,d,e)   Perl_newCONSTSUB_flags(aTHX_ a,b,c,d,e)
 #define newCVREF(a,b)          Perl_newCVREF(aTHX_ a,b)
+#define newDEFEROP(a,b)                Perl_newDEFEROP(aTHX_ a,b)
 #define newDEFSVOP()           Perl_newDEFSVOP(aTHX)
 #define newFORM(a,b,c)         Perl_newFORM(aTHX_ a,b,c)
 #define newFOROP(a,b,c,d,e)    Perl_newFOROP(aTHX_ a,b,c,d,e)
 #define newSVnv(a)             Perl_newSVnv(aTHX_ a)
 #define newSVpv(a,b)           Perl_newSVpv(aTHX_ a,b)
 #define newSVpv_share(a,b)     Perl_newSVpv_share(aTHX_ a,b)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define newSVpvf               Perl_newSVpvf
 #endif
 #define newSVpvn(a,b)          Perl_newSVpvn(aTHX_ a,b)
 #define pregfree(a)            Perl_pregfree(aTHX_ a)
 #define pregfree2(a)           Perl_pregfree2(aTHX_ a)
 #define prescan_version(a,b,c,d,e,f,g) Perl_prescan_version(aTHX_ a,b,c,d,e,f,g)
-#define ptr_table_clear(a)     Perl_ptr_table_clear(aTHX_ a)
 #define ptr_table_fetch(a,b)   Perl_ptr_table_fetch(aTHX_ a,b)
 #define ptr_table_free(a)      Perl_ptr_table_free(aTHX_ a)
 #define ptr_table_new()                Perl_ptr_table_new(aTHX)
 #define set_context            Perl_set_context
 #define setdefout(a)           Perl_setdefout(aTHX_ a)
 #define share_hek(a,b,c)       Perl_share_hek(aTHX_ a,b,c)
+#define single_1bit_pos32      Perl_single_1bit_pos32
 #define sortsv(a,b,c)          Perl_sortsv(aTHX_ a,b,c)
 #define sortsv_flags(a,b,c,d)  Perl_sortsv_flags(aTHX_ a,b,c,d)
 #define stack_grow(a,b,c)      Perl_stack_grow(aTHX_ a,b,c)
 #define sv_catpv(a,b)          Perl_sv_catpv(aTHX_ a,b)
 #define sv_catpv_flags(a,b,c)  Perl_sv_catpv_flags(aTHX_ a,b,c)
 #define sv_catpv_mg(a,b)       Perl_sv_catpv_mg(aTHX_ a,b)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define sv_catpvf              Perl_sv_catpvf
 #define sv_catpvf_mg           Perl_sv_catpvf_mg
 #endif
 #define sv_setpv(a,b)          Perl_sv_setpv(aTHX_ a,b)
 #define sv_setpv_bufsize(a,b,c)        Perl_sv_setpv_bufsize(aTHX_ a,b,c)
 #define sv_setpv_mg(a,b)       Perl_sv_setpv_mg(aTHX_ a,b)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define sv_setpvf              Perl_sv_setpvf
 #define sv_setpvf_mg           Perl_sv_setpvf_mg
 #endif
 #define sv_setref_pv(a,b,c)    Perl_sv_setref_pv(aTHX_ a,b,c)
 #define sv_setref_pvn(a,b,c,d) Perl_sv_setref_pvn(aTHX_ a,b,c,d)
 #define sv_setref_uv(a,b,c)    Perl_sv_setref_uv(aTHX_ a,b,c)
+#define sv_setrv_inc(a,b)      Perl_sv_setrv_inc(aTHX_ a,b)
+#define sv_setrv_inc_mg(a,b)   Perl_sv_setrv_inc_mg(aTHX_ a,b)
+#define sv_setrv_noinc(a,b)    Perl_sv_setrv_noinc(aTHX_ a,b)
+#define sv_setrv_noinc_mg(a,b) Perl_sv_setrv_noinc_mg(aTHX_ a,b)
 #define sv_setsv_flags(a,b,c)  Perl_sv_setsv_flags(aTHX_ a,b,c)
 #define sv_setsv_mg(a,b)       Perl_sv_setsv_mg(aTHX_ a,b)
 #define sv_setuv(a,b)          Perl_sv_setuv(aTHX_ a,b)
 #define vverify(a)             Perl_vverify(aTHX_ a)
 #define vwarn(a,b)             Perl_vwarn(aTHX_ a,b)
 #define vwarner(a,b,c)         Perl_vwarner(aTHX_ a,b,c)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define warn                   Perl_warn
 #endif
 #define warn_sv(a)             Perl_warn_sv(aTHX_ a)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define warner                 Perl_warner
 #endif
 #define whichsig_pv(a)         Perl_whichsig_pv(aTHX_ a)
 #define sys_intern_dup(a,b)    Perl_sys_intern_dup(aTHX_ a,b)
 #  endif
 #endif
-#if defined(MYMALLOC)
-#define dump_mstats(a)         Perl_dump_mstats(aTHX_ a)
-#define get_mstats(a,b,c)      Perl_get_mstats(aTHX_ a,b,c)
-#endif
-#if defined(PERL_IMPLICIT_CONTEXT)
+#if defined(MULTIPLICITY)
 #define croak_nocontext                Perl_croak_nocontext
 #define deb_nocontext          Perl_deb_nocontext
 #define die_nocontext          Perl_die_nocontext
 #define warn_nocontext         Perl_warn_nocontext
 #define warner_nocontext       Perl_warner_nocontext
 #endif
+#if defined(MYMALLOC)
+#define dump_mstats(a)         Perl_dump_mstats(aTHX_ a)
+#define get_mstats(a,b,c)      Perl_get_mstats(aTHX_ a,b,c)
+#endif
 #if defined(PERL_USE_3ARG_SIGHANDLER)
 #define csighandler            Perl_csighandler
 #endif
+#if defined(U64TYPE)   /* HAS_QUAD undefined outside of core */
+#define lsbit_pos64            Perl_lsbit_pos64
+#define msbit_pos64            Perl_msbit_pos64
+#define single_1bit_pos64      Perl_single_1bit_pos64
+#endif
 #if defined(UNLINK_ALL_VERSIONS)
 #define unlnk(a)               Perl_unlnk(aTHX_ a)
 #endif
 #define skipspace_flags(a,b)   Perl_skipspace_flags(aTHX_ a,b)
 #define sv_magicext_mglob(a)   Perl_sv_magicext_mglob(aTHX_ a)
 #define sv_only_taint_gmagic   Perl_sv_only_taint_gmagic
-#define utf16_to_utf8(a,b,c,d) Perl_utf16_to_utf8(aTHX_ a,b,c,d)
-#define utf16_to_utf8_reversed(a,b,c,d)        Perl_utf16_to_utf8_reversed(aTHX_ a,b,c,d)
+#define utf16_to_utf8_base(a,b,c,d,e,f)        Perl_utf16_to_utf8_base(aTHX_ a,b,c,d,e,f)
+#define utf8_to_utf16_base(a,b,c,d,e,f)        Perl_utf8_to_utf16_base(aTHX_ a,b,c,d,e,f)
 #define validate_proto(a,b,c,d)        Perl_validate_proto(aTHX_ a,b,c,d)
 #define vivify_defelem(a)      Perl_vivify_defelem(aTHX_ a)
 #define yylex()                        Perl_yylex(aTHX)
 #define put_charclass_bitmap_innards_invlist(a,b)      S_put_charclass_bitmap_innards_invlist(aTHX_ a,b)
 #define put_code_point(a,b)    S_put_code_point(aTHX_ a,b)
 #define put_range(a,b,c,d)     S_put_range(aTHX_ a,b,c,d)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define re_indentf             Perl_re_indentf
 #endif
 #define regdump_extflags(a,b)  S_regdump_extflags(aTHX_ a,b)
 #    if defined(PERL_IN_REGEXEC_C)
 #define debug_start_match(a,b,c,d,e)   S_debug_start_match(aTHX_ a,b,c,d,e)
 #define dump_exec_pos(a,b,c,d,e,f,g)   S_dump_exec_pos(aTHX_ a,b,c,d,e,f,g)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define re_exec_indentf                Perl_re_exec_indentf
 #endif
 #    endif
 #define get_regex_charset_name S_get_regex_charset_name
 #  endif
 #  if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define re_printf              Perl_re_printf
 #endif
 #define regprop(a,b,c,d,e)     Perl_regprop(aTHX_ a,b,c,d,e)
 #define magic_setpos(a,b)      Perl_magic_setpos(aTHX_ a,b)
 #define magic_setregexp(a,b)   Perl_magic_setregexp(aTHX_ a,b)
 #define magic_setsig(a,b)      Perl_magic_setsig(aTHX_ a,b)
+#define magic_setsigall(a,b)   Perl_magic_setsigall(aTHX_ a,b)
 #define magic_setsubstr(a,b)   Perl_magic_setsubstr(aTHX_ a,b)
 #define magic_settaint(a,b)    Perl_magic_settaint(aTHX_ a,b)
 #define magic_setutf8(a,b)     Perl_magic_setutf8(aTHX_ a,b)
 #define sv_len_utf8_nomg(a)    Perl_sv_len_utf8_nomg(aTHX_ a)
 #define sv_resetpvn(a,b,c)     Perl_sv_resetpvn(aTHX_ a,b,c)
 #define sv_sethek(a,b)         Perl_sv_sethek(aTHX_ a,b)
-#ifndef PERL_IMPLICIT_CONTEXT
+#ifndef MULTIPLICITY
 #define tied_method            Perl_tied_method
 #endif
 #define tmps_grow_p(a)         Perl_tmps_grow_p(aTHX_ a)
 #define utf16_textfilter(a,b,c)        S_utf16_textfilter(aTHX_ a,b,c)
 #    endif
 #  endif
-#  if !defined(UV_IS_QUAD)
-#    if defined(PERL_IN_UTF8_C)
-#define is_utf8_cp_above_31_bits       S_is_utf8_cp_above_31_bits
-#    endif
-#  endif
 #  if !defined(WIN32)
 #define do_exec3(a,b,c)                Perl_do_exec3(aTHX_ a,b,c)
 #  endif
 #define scalar_mod_type                S_scalar_mod_type
 #define scalarboolean(a)       S_scalarboolean(aTHX_ a)
 #define scalarkids(a)          S_scalarkids(aTHX_ a)
-#define scalarseq(a)           S_scalarseq(aTHX_ a)
 #define search_const(a)                S_search_const(aTHX_ a)
 #define simplify_sort(a)       S_simplify_sort(aTHX_ a)
 #define too_few_arguments_pv(a,b,c)    S_too_few_arguments_pv(aTHX_ a,b,c)
 #define too_many_arguments_pv(a,b,c)   S_too_many_arguments_pv(aTHX_ a,b,c)
 #define traverse_op_tree(a,b)  S_traverse_op_tree(aTHX_ a,b)
+#define voidnonfinal(a)                S_voidnonfinal(aTHX_ a)
 #    if defined(USE_ITHREADS)
 #define op_relocate_sv(a,b)    S_op_relocate_sv(aTHX_ a,b)
 #    endif
 #define _to_utf8_case(a,b,c,d,e,f,g,h,i)       S__to_utf8_case(aTHX_ a,b,c,d,e,f,g,h,i)
 #define check_locale_boundary_crossing(a,b,c,d)        S_check_locale_boundary_crossing(aTHX_ a,b,c,d)
 #define does_utf8_overflow     S_does_utf8_overflow
-#define isFF_OVERLONG          S_isFF_OVERLONG
+#define isFF_overlong          S_isFF_overlong
 #define is_utf8_common(a,b,c)  S_is_utf8_common(aTHX_ a,b,c)
-#define is_utf8_overlong_given_start_byte_ok   S_is_utf8_overlong_given_start_byte_ok
+#define is_utf8_overlong       S_is_utf8_overlong
 #define new_msg_hv(a,b,c)      S_new_msg_hv(aTHX_ a,b,c)
+#define to_case_cp_list(a,b,c,d,e,f,g,h)       S_to_case_cp_list(aTHX_ a,b,c,d,e,f,g,h)
 #define to_lower_latin1                S_to_lower_latin1
 #define turkic_fc(a,b,c,d)     S_turkic_fc(aTHX_ a,b,c,d)
 #define turkic_lc(a,b,c,d)     S_turkic_lc(aTHX_ a,b,c,d)
    an extra argument but grab the context pointer using the macro
    dTHX.
  */
-#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_SHORT_NAMES)
+#if defined(MULTIPLICITY) && !defined(PERL_NO_SHORT_NAMES)
 #  define croak                        Perl_croak_nocontext
 #  define deb                  Perl_deb_nocontext
 #  define die                  Perl_die_nocontext
 
 #endif /* !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) */
 
-#if !defined(PERL_IMPLICIT_CONTEXT)
+#if !defined(MULTIPLICITY)
 /* undefined symbols, point them back at the usual ones */
 #  define Perl_croak_nocontext Perl_croak
 #  define Perl_deb_nocontext   Perl_deb