diff options
-rw-r--r-- | embed.fnc | 45 | ||||
-rw-r--r-- | embed.h | 110 | ||||
-rw-r--r-- | proto.h | 325 | ||||
-rw-r--r-- | regen/HeaderParser.pm | 11 |
4 files changed, 256 insertions, 235 deletions
@@ -3702,15 +3702,6 @@ EXp |int |yylex p |int |yyparse |int gramtype p |void |yyquit p |void |yyunlex -#if ( defined(AF_INET) && defined(HAS_SOCKET) && defined(PF_INET) && \ - defined(SOCK_DGRAM) ) || defined(HAS_SOCKETPAIR) -Rp |int |PerlSock_socketpair_cloexec \ - |int domain \ - |int type \ - |int protocol \ - |NN int *pairfd -#endif /* ( defined(AF_INET) && defined(HAS_SOCKET) && defined(PF_INET) && \ - defined(SOCK_DGRAM) ) || defined(HAS_SOCKETPAIR) */ #if defined(DEBUGGING) : Used in mg.c Rp |int |get_debug_opts |NN const char **s \ @@ -3804,6 +3795,15 @@ Rp |int |PerlSock_socket_cloexec \ |int type \ |int protocol #endif /* defined(HAS_SOCKET) */ +#if defined(HAS_SOCKETPAIR) || ( defined(AF_INET) && defined(HAS_SOCKET) && \ + defined(PF_INET) && defined(SOCK_DGRAM) ) +Rp |int |PerlSock_socketpair_cloexec \ + |int domain \ + |int type \ + |int protocol \ + |NN int *pairfd +#endif /* defined(HAS_SOCKETPAIR) || ( defined(AF_INET) && \ + defined(HAS_SOCKET) && defined(PF_INET) && defined(SOCK_DGRAM) ) */ #if !defined(HAS_STRLCAT) ATdip |Size_t |my_strlcat |NULLOK char *dst \ |NULLOK const char *src \ @@ -4451,10 +4451,9 @@ S |bool |less_dicey_bool_setlocale_r \ |const int cat \ |NN const char *locale # endif /* 0 */ -# endif /* ( defined(USE_LOCALE_THREADS) && \ - !defined(USE_THREAD_SAFE_LOCALE) && \ - !defined(USE_THREAD_SAFE_LOCALE_EMULATION) ) && \ - !defined(USE_POSIX_2008_LOCALE) */ +# endif /* !defined(USE_POSIX_2008_LOCALE) && ( defined(USE_LOCALE_THREADS) \ + && !defined(USE_THREAD_SAFE_LOCALE) && \ + !defined(USE_THREAD_SAFE_LOCALE_EMULATION) ) */ # if !( defined(USE_POSIX_2008_LOCALE) && defined(USE_QUERYLOCALE) ) : regen/embed.pl can't currently cope with 'elif' # if !defined(LC_ALL) || defined(USE_POSIX_2008_LOCALE) || defined(WIN32) @@ -4463,12 +4462,6 @@ S |const char *|calculate_LC_ALL \ # endif /* !defined(LC_ALL) || defined(USE_POSIX_2008_LOCALE) || \ defined(WIN32) */ # endif /* !( defined(USE_POSIX_2008_LOCALE) && defined(USE_QUERYLOCALE) ) */ -# if ( defined(USE_POSIX_2008_LOCALE) && !defined(USE_QUERYLOCALE) ) || \ - defined(WIN32) -S |const char *|find_locale_from_environment \ - |const unsigned int index -# endif /* ( defined(USE_POSIX_2008_LOCALE) && !defined(USE_QUERYLOCALE) ) \ - || defined(WIN32) */ # if defined(WIN32) ST |wchar_t *|Win_byte_string_to_wstring \ |const UINT code_page \ @@ -4483,6 +4476,12 @@ S |const char *|wrap_wsetlocale \ |const int category \ |NULLOK const char *locale # endif /* defined(WIN32) */ +# if defined(WIN32) || ( defined(USE_POSIX_2008_LOCALE) && \ + !defined(USE_QUERYLOCALE) ) +S |const char *|find_locale_from_environment \ + |const unsigned int index +# endif /* defined(WIN32) || ( defined(USE_POSIX_2008_LOCALE) && \ + !defined(USE_QUERYLOCALE) ) */ # endif /* defined(USE_LOCALE) */ # if defined(USE_POSIX_2008_LOCALE) || defined(DEBUGGING) S |const char *|get_displayable_string \ @@ -4659,10 +4658,6 @@ p |void |warn_elem_scalar_context \ |NN SV *name \ |bool is_hash \ |bool is_slice -# if defined(USE_ITHREADS) -p |void |op_relocate_sv |NN SV **svp \ - |NN PADOFFSET *targp -# endif /* defined(USE_ITHREADS) */ #endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_PEEP_C) */ #if defined(PERL_IN_OP_C) || defined(PERL_IN_PERLY_C) || \ defined(PERL_IN_TOKE_C) @@ -6098,6 +6093,10 @@ ARp |SV * |sv_dup |NULLOK const SV * const ssv \ |NN CLONE_PARAMS * const param ARp |SV * |sv_dup_inc |NULLOK const SV * const ssv \ |NN CLONE_PARAMS * const param +# if defined(PERL_IN_OP_C) || defined(PERL_IN_PEEP_C) +p |void |op_relocate_sv |NN SV **svp \ + |NN PADOFFSET *targp +# endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_PEEP_C) */ #else /* if !defined(USE_ITHREADS) */ Adm |void |CopFILEGV_set |NN COP *c \ |NN GV *gv @@ -837,12 +837,6 @@ # define sv_setpvf_mg(a,...) Perl_sv_setpvf_mg(aTHX_ a,__VA_ARGS__) # define warn(...) Perl_warn(aTHX_ __VA_ARGS__) # define warner(a,...) Perl_warner(aTHX_ a,__VA_ARGS__) -# if defined(PERL_CORE) -# define tied_method(a,b,c,d,e,...) Perl_tied_method(aTHX_ a,b,c,d,e,__VA_ARGS__) -# if defined(PERL_IN_REGCOMP_C) -# define re_croak(a,...) S_re_croak(aTHX_ a,__VA_ARGS__) -# endif /* defined(PERL_IN_REGCOMP_C) */ -# endif /* defined(PERL_CORE) */ # endif /* !defined(MULTIPLICITY) || defined(PERL_CORE) */ # if defined(MYMALLOC) # define dump_mstats(a) Perl_dump_mstats(aTHX_ a) @@ -1107,11 +1101,6 @@ # define opslab_free_nopad(a) Perl_opslab_free_nopad(aTHX_ a) # define parser_free_nexttoke_ops(a,b) Perl_parser_free_nexttoke_ops(aTHX_ a,b) # define should_warn_nl S_should_warn_nl -# if ( defined(AF_INET) && defined(HAS_SOCKET) && defined(PF_INET) && \ - defined(SOCK_DGRAM) ) || defined(HAS_SOCKETPAIR) -# define PerlSock_socketpair_cloexec(a,b,c,d) Perl_PerlSock_socketpair_cloexec(aTHX_ a,b,c,d) -# endif /* ( defined(AF_INET) && defined(HAS_SOCKET) && defined(PF_INET) && \ - defined(SOCK_DGRAM) ) || defined(HAS_SOCKETPAIR) */ # if defined(DEBUGGING) # define get_debug_opts(a,b) Perl_get_debug_opts(aTHX_ a,b) # define set_padlist Perl_set_padlist @@ -1140,11 +1129,22 @@ # define PerlSock_accept_cloexec(a,b,c) Perl_PerlSock_accept_cloexec(aTHX_ a,b,c) # define PerlSock_socket_cloexec(a,b,c) Perl_PerlSock_socket_cloexec(aTHX_ a,b,c) # endif /* defined(HAS_SOCKET) */ +# if defined(HAS_SOCKETPAIR) || ( defined(AF_INET) && defined(HAS_SOCKET) \ + && defined(PF_INET) && defined(SOCK_DGRAM) ) +# define PerlSock_socketpair_cloexec(a,b,c,d) Perl_PerlSock_socketpair_cloexec(aTHX_ a,b,c,d) +# endif /* defined(HAS_SOCKETPAIR) || ( defined(AF_INET) && \ + defined(HAS_SOCKET) && defined(PF_INET) && defined(SOCK_DGRAM) ) */ # if defined(_MSC_VER) # define magic_regdatum_set(a,b) Perl_magic_regdatum_set(aTHX_ a,b) # else /* if !defined(_MSC_VER) */ # define magic_regdatum_set(a,b) Perl_magic_regdatum_set(aTHX_ a,b) # endif /* !defined(_MSC_VER) */ +# if !defined(MULTIPLICITY) || defined(PERL_CORE) +# define tied_method(a,b,c,d,e,...) Perl_tied_method(aTHX_ a,b,c,d,e,__VA_ARGS__) +# if defined(PERL_IN_REGCOMP_C) +# define re_croak(a,...) S_re_croak(aTHX_ a,__VA_ARGS__) +# endif /* defined(PERL_IN_REGCOMP_C) */ +# endif /* !defined(MULTIPLICITY) || defined(PERL_CORE) */ # if defined(PERL_DEBUG_READONLY_COW) # define sv_buf_to_ro(a) Perl_sv_buf_to_ro(aTHX_ a) # endif /* defined(PERL_DEBUG_READONLY_COW) */ @@ -1286,13 +1286,6 @@ # else /* if !( defined(HAS_NL_LANGINFO) || defined(HAS_NL_LANGINFO_L) ) */ # define my_langinfo_i(a,b,c,d,e,f) S_my_langinfo_i(aTHX_ a,b,c,d,e,f) # endif /* !( defined(HAS_NL_LANGINFO) || defined(HAS_NL_LANGINFO_L) ) */ -# if ( !defined(LC_ALL) || defined(USE_POSIX_2008_LOCALE) || \ - defined(WIN32) ) && !( defined(USE_POSIX_2008_LOCALE) && \ - defined(USE_QUERYLOCALE) ) -# define calculate_LC_ALL(a) S_calculate_LC_ALL(aTHX_ a) -# endif /* ( !defined(LC_ALL) || defined(USE_POSIX_2008_LOCALE) || \ - defined(WIN32) ) && !( defined(USE_POSIX_2008_LOCALE) && \ - defined(USE_QUERYLOCALE) ) */ # if defined(USE_LOCALE_COLLATE) # define new_collate(a,b) S_new_collate(aTHX_ a,b) # if defined(DEBUGGING) @@ -1328,21 +1321,28 @@ # if 0 # define less_dicey_bool_setlocale_r(a,b) S_less_dicey_bool_setlocale_r(aTHX_ a,b) # endif /* 0 */ -# endif /* ( defined(USE_LOCALE_THREADS) && \ +# endif /* !defined(USE_POSIX_2008_LOCALE) && ( \ + defined(USE_LOCALE_THREADS) && \ !defined(USE_THREAD_SAFE_LOCALE) && \ - !defined(USE_THREAD_SAFE_LOCALE_EMULATION) ) && \ - !defined(USE_POSIX_2008_LOCALE) */ -# if ( defined(USE_POSIX_2008_LOCALE) && !defined(USE_QUERYLOCALE) ) || \ - defined(WIN32) -# define find_locale_from_environment(a) S_find_locale_from_environment(aTHX_ a) -# endif /* ( defined(USE_POSIX_2008_LOCALE) && \ - !defined(USE_QUERYLOCALE) ) || defined(WIN32) */ + !defined(USE_THREAD_SAFE_LOCALE_EMULATION) ) */ +# if !( defined(USE_POSIX_2008_LOCALE) && defined(USE_QUERYLOCALE) ) && \ + ( !defined(LC_ALL) || defined(USE_POSIX_2008_LOCALE) || \ + defined(WIN32) ) +# define calculate_LC_ALL(a) S_calculate_LC_ALL(aTHX_ a) +# endif /* !( defined(USE_POSIX_2008_LOCALE) && \ + defined(USE_QUERYLOCALE) ) && ( !defined(LC_ALL) || \ + defined(USE_POSIX_2008_LOCALE) || defined(WIN32) ) */ # if defined(WIN32) # define Win_byte_string_to_wstring S_Win_byte_string_to_wstring # define Win_wstring_to_byte_string S_Win_wstring_to_byte_string # define win32_setlocale(a,b) S_win32_setlocale(aTHX_ a,b) # define wrap_wsetlocale(a,b) S_wrap_wsetlocale(aTHX_ a,b) # endif /* defined(WIN32) */ +# if defined(WIN32) || ( defined(USE_POSIX_2008_LOCALE) && \ + !defined(USE_QUERYLOCALE) ) +# define find_locale_from_environment(a) S_find_locale_from_environment(aTHX_ a) +# endif /* defined(WIN32) || ( defined(USE_POSIX_2008_LOCALE) && \ + !defined(USE_QUERYLOCALE) ) */ # endif /* defined(USE_LOCALE) */ # if defined(USE_POSIX_2008_LOCALE) || defined(DEBUGGING) # define get_displayable_string(a,b,c) S_get_displayable_string(aTHX_ a,b,c) @@ -1419,9 +1419,6 @@ # define op_prune_chain_head Perl_op_prune_chain_head # define op_varname(a) Perl_op_varname(aTHX_ a) # define warn_elem_scalar_context(a,b,c,d) Perl_warn_elem_scalar_context(aTHX_ a,b,c,d) -# if defined(USE_ITHREADS) -# define op_relocate_sv(a,b) Perl_op_relocate_sv(aTHX_ a,b) -# endif /* defined(USE_ITHREADS) */ # endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_PEEP_C) */ # if defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C) # define report_redefined_cv(a,b,c) Perl_report_redefined_cv(aTHX_ a,b,c) @@ -1661,6 +1658,9 @@ # if !defined(PERL_IMPLICIT_SYS) # define PerlEnv_putenv(a) S_PerlEnv_putenv(aTHX_ a) # endif /* !defined(PERL_IMPLICIT_SYS) */ +# if defined(PERL_IN_OP_C) || defined(PERL_IN_PEEP_C) +# define op_relocate_sv(a,b) Perl_op_relocate_sv(aTHX_ a,b) +# endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_PEEP_C) */ # endif /* defined(USE_ITHREADS) */ # if defined(USE_LOCALE_COLLATE) # define magic_freecollxfrm(a,b) Perl_magic_freecollxfrm(aTHX_ a,b) @@ -1783,11 +1783,6 @@ # if defined(PERL_IN_GV_C) || defined(PERL_IN_UNIVERSAL_C) # define gv_stashsvpvn_cached(a,b,c,d) Perl_gv_stashsvpvn_cached(aTHX_ a,b,c,d) # endif /* defined(PERL_IN_GV_C) || defined(PERL_IN_UNIVERSAL_C) */ -# if ( defined(PERL_IN_LOCALE_C) || defined(PERL_IN_MATHOMS_C) || \ - defined(PERL_IN_SV_C) ) && defined(USE_LOCALE_COLLATE) -# define mem_collxfrm_(a,b,c,d) Perl_mem_collxfrm_(aTHX_ a,b,c,d) -# endif /* ( defined(PERL_IN_LOCALE_C) || defined(PERL_IN_MATHOMS_C) || \ - defined(PERL_IN_SV_C) ) && defined(USE_LOCALE_COLLATE) */ # if defined(PERL_IN_OP_C) || defined(PERL_IN_REGCOMP_ANY) # define get_invlist_iter_addr S_get_invlist_iter_addr # define invlist_iterfinish S_invlist_iterfinish @@ -1971,12 +1966,10 @@ # if defined(DEBUGGING) # 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) +# if !defined(MULTIPLICITY) || defined(PERL_CORE) +# define re_exec_indentf(a,...) Perl_re_exec_indentf(aTHX_ a,__VA_ARGS__) +# endif /* !defined(MULTIPLICITY) || defined(PERL_CORE) */ # endif /* defined(DEBUGGING) */ -# if ( !defined(MULTIPLICITY) || defined(PERL_CORE) ) && \ - defined(DEBUGGING) -# define re_exec_indentf(a,...) Perl_re_exec_indentf(aTHX_ a,__VA_ARGS__) -# endif /* ( !defined(MULTIPLICITY) || defined(PERL_CORE) ) && \ - defined(DEBUGGING) */ # endif /* defined(PERL_IN_REGEXEC_C) */ # endif /* defined(PERL_CORE) || defined(PERL_EXT) */ # if defined(PERL_CORE) || defined(PERL_USE_VOLATILE_API) @@ -2008,26 +2001,30 @@ # define check_regnode_after(a,b) Perl_check_regnode_after(aTHX_ a,b) # define regnext(a) Perl_regnext(aTHX_ a) # define regnode_after(a,b) Perl_regnode_after(aTHX_ a,b) -# if defined(PERL_CORE) || defined(PERL_EXT) -# if defined(DEBUGGING) +# if defined(DEBUGGING) +# if ( !defined(MULTIPLICITY) || defined(PERL_CORE) ) && ( \ + defined(PERL_CORE) || defined(PERL_EXT) ) +# define re_indentf(a,...) Perl_re_indentf(aTHX_ a,__VA_ARGS__) +# define re_printf(...) Perl_re_printf(aTHX_ __VA_ARGS__) +# endif /* ( !defined(MULTIPLICITY) || defined(PERL_CORE) ) && ( \ + defined(PERL_CORE) || defined(PERL_EXT) ) */ +# if defined(PERL_CORE) || defined(PERL_EXT) # define debug_peep(a,b,c,d,e) Perl_debug_peep(aTHX_ a,b,c,d,e) # define debug_show_study_flags(a,b,c) Perl_debug_show_study_flags(aTHX_ a,b,c) # define debug_studydata(a,b,c,d,e,f,g) Perl_debug_studydata(aTHX_ a,b,c,d,e,f,g) # define dumpuntil(a,b,c,d,e,f,g,h) Perl_dumpuntil(aTHX_ a,b,c,d,e,f,g,h) # define regprop(a,b,c,d,e) Perl_regprop(aTHX_ a,b,c,d,e) -# endif /* defined(DEBUGGING) */ -# if ( !defined(MULTIPLICITY) || defined(PERL_CORE) ) && \ - defined(DEBUGGING) -# define re_indentf(a,...) Perl_re_indentf(aTHX_ a,__VA_ARGS__) -# define re_printf(...) Perl_re_printf(aTHX_ __VA_ARGS__) -# endif /* ( !defined(MULTIPLICITY) || defined(PERL_CORE) ) && \ - defined(DEBUGGING) */ -# if defined(PERL_EXT_RE_BUILD) +# endif /* defined(PERL_CORE) || defined(PERL_EXT) */ +# endif /* defined(DEBUGGING) */ +# if defined(PERL_EXT_RE_BUILD) +# if defined(PERL_CORE) || defined(PERL_EXT) # define get_re_gclass_aux_data(a,b,c,d,e,f) Perl_get_re_gclass_aux_data(aTHX_ a,b,c,d,e,f) -# else /* if !defined(PERL_EXT_RE_BUILD) */ -# define get_regclass_aux_data(a,b,c,d,e,f) Perl_get_regclass_aux_data(aTHX_ a,b,c,d,e,f) -# endif /* !defined(PERL_EXT_RE_BUILD) */ -# endif /* defined(PERL_CORE) || defined(PERL_EXT) */ +# endif /* defined(PERL_CORE) || defined(PERL_EXT) */ +# elif defined(PERL_CORE) || defined(PERL_EXT) /* && \ + !defined(PERL_EXT_RE_BUILD) */ +# define get_regclass_aux_data(a,b,c,d,e,f) Perl_get_regclass_aux_data(aTHX_ a,b,c,d,e,f) +# endif /* !defined(PERL_EXT_RE_BUILD) && ( defined(PERL_CORE) || \ + defined(PERL_EXT) ) */ # endif /* defined(PERL_IN_REGEX_ENGINE) */ # if defined(PERL_IN_SV_C) # define more_sv() Perl_more_sv(aTHX) @@ -2147,6 +2144,13 @@ # endif /* defined(USE_ITHREADS) */ # if defined(USE_LOCALE_COLLATE) # define sv_collxfrm_flags(a,b,c) Perl_sv_collxfrm_flags(aTHX_ a,b,c) +# if ( defined(PERL_CORE) || defined(PERL_EXT) ) && ( \ + defined(PERL_IN_LOCALE_C) || defined(PERL_IN_MATHOMS_C) || \ + defined(PERL_IN_SV_C) ) +# define mem_collxfrm_(a,b,c,d) Perl_mem_collxfrm_(aTHX_ a,b,c,d) +# endif /* ( defined(PERL_CORE) || defined(PERL_EXT) ) && ( \ + defined(PERL_IN_LOCALE_C) || defined(PERL_IN_MATHOMS_C) || \ + defined(PERL_IN_SV_C) ) */ # endif /* defined(USE_LOCALE_COLLATE) */ # if defined(USE_PERLIO) # define PerlIO_clearerr(a) Perl_PerlIO_clearerr(aTHX_ a) @@ -5345,17 +5345,6 @@ Perl_yyunlex(pTHX) __attribute__visibility__("hidden"); #define PERL_ARGS_ASSERT_YYUNLEX -#if ( defined(AF_INET) && defined(HAS_SOCKET) && defined(PF_INET) && \ - defined(SOCK_DGRAM) ) || defined(HAS_SOCKETPAIR) -PERL_CALLCONV int -Perl_PerlSock_socketpair_cloexec(pTHX_ int domain, int type, int protocol, int *pairfd) - __attribute__warn_unused_result__ - __attribute__visibility__("hidden"); -# define PERL_ARGS_ASSERT_PERLSOCK_SOCKETPAIR_CLOEXEC \ - assert(pairfd) - -#endif /* ( defined(AF_INET) && defined(HAS_SOCKET) && defined(PF_INET) && \ - defined(SOCK_DGRAM) ) || defined(HAS_SOCKETPAIR) */ #if defined(DEBUGGING) PERL_CALLCONV int Perl_get_debug_opts(pTHX_ const char **s, bool givehelp) @@ -5529,6 +5518,17 @@ Perl_PerlSock_socket_cloexec(pTHX_ int domain, int type, int protocol) # define PERL_ARGS_ASSERT_PERLSOCK_SOCKET_CLOEXEC #endif /* defined(HAS_SOCKET) */ +#if defined(HAS_SOCKETPAIR) || ( defined(AF_INET) && defined(HAS_SOCKET) && \ + defined(PF_INET) && defined(SOCK_DGRAM) ) +PERL_CALLCONV int +Perl_PerlSock_socketpair_cloexec(pTHX_ int domain, int type, int protocol, int *pairfd) + __attribute__warn_unused_result__ + __attribute__visibility__("hidden"); +# define PERL_ARGS_ASSERT_PERLSOCK_SOCKETPAIR_CLOEXEC \ + assert(pairfd) + +#endif /* defined(HAS_SOCKETPAIR) || ( defined(AF_INET) && \ + defined(HAS_SOCKET) && defined(PF_INET) && defined(SOCK_DGRAM) ) */ #if !defined(HAS_STRLCPY) STATIC Size_t Perl_my_strlcpy(char *dst, const char *src, Size_t size); @@ -6017,6 +6017,15 @@ Perl_gv_SVadd(pTHX_ GV *gv); # define PERL_ARGS_ASSERT_GV_SVADD # endif /* defined(PERL_DONT_CREATE_GVSV) */ +# if defined(PERL_IN_OP_C) || defined(PERL_IN_PERLY_C) || \ + defined(PERL_IN_TOKE_C) +PERL_CALLCONV OP * +Perl_ref(pTHX_ OP *o, I32 type) + __attribute__visibility__("hidden"); +# define PERL_ARGS_ASSERT_REF + +# endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_PERLY_C) || \ + defined(PERL_IN_TOKE_C) */ # if defined(USE_LOCALE_COLLATE) PERL_CALLCONV char * Perl_sv_collxfrm(pTHX_ SV * const sv, STRLEN * const nxp); @@ -6085,32 +6094,6 @@ Perl_isSCRIPT_RUN(pTHX_ const U8 *s, const U8 *send, const bool utf8_target) # define PERL_ARGS_ASSERT_ISSCRIPT_RUN \ assert(s); assert(send) -# if !defined(PERL_NO_INLINE_FUNCTIONS) -PERL_STATIC_INLINE bool -Perl_is_utf8_non_invariant_string(const U8 * const s, STRLEN len) - __attribute__warn_unused_result__; -# define PERL_ARGS_ASSERT_IS_UTF8_NON_INVARIANT_STRING \ - assert(s) - -PERL_STATIC_INLINE STRLEN -S_sv_or_pv_pos_u2b(pTHX_ SV *sv, const char *pv, STRLEN pos, STRLEN *lenp); -# define PERL_ARGS_ASSERT_SV_OR_PV_POS_U2B \ - assert(sv); assert(pv) - -PERL_STATIC_INLINE Size_t -S_variant_under_utf8_count(const U8 * const s, const U8 * const e) - __attribute__warn_unused_result__; -# define PERL_ARGS_ASSERT_VARIANT_UNDER_UTF8_COUNT \ - assert(s); assert(e) - -# if !defined(HAS_MEMRCHR) -PERL_STATIC_INLINE void * -S_my_memrchr(const char *s, const char c, const STRLEN len); -# define PERL_ARGS_ASSERT_MY_MEMRCHR \ - assert(s) - -# endif /* !defined(HAS_MEMRCHR) */ -# endif /* !defined(PERL_NO_INLINE_FUNCTIONS) */ #endif /* defined(PERL_CORE) || defined(PERL_EXT) */ #if defined(PERL_CORE) || defined(PERL_USE_VOLATILE_API) PERL_CALLCONV void @@ -6327,37 +6310,6 @@ Perl__invlist_search(SV * const invlist, const UV cp) # define PERL_ARGS_ASSERT__INVLIST_SEARCH \ assert(invlist) -# if !defined(PERL_NO_INLINE_FUNCTIONS) -PERL_STATIC_INLINE bool -S__invlist_contains_cp(SV * const invlist, const UV cp) - __attribute__warn_unused_result__; -# define PERL_ARGS_ASSERT__INVLIST_CONTAINS_CP \ - assert(invlist) - -PERL_STATIC_INLINE UV -S__invlist_len(SV * const invlist) - __attribute__warn_unused_result__; -# define PERL_ARGS_ASSERT__INVLIST_LEN \ - assert(invlist) - -PERL_STATIC_INLINE bool * -S_get_invlist_offset_addr(SV *invlist) - __attribute__warn_unused_result__; -# define PERL_ARGS_ASSERT_GET_INVLIST_OFFSET_ADDR \ - assert(invlist) - -PERL_STATIC_INLINE UV * -S_invlist_array(SV * const invlist) - __attribute__warn_unused_result__; -# define PERL_ARGS_ASSERT_INVLIST_ARRAY \ - assert(invlist) - -PERL_STATIC_INLINE bool -S_is_invlist(const SV * const invlist) - __attribute__warn_unused_result__; -# define PERL_ARGS_ASSERT_IS_INVLIST - -# endif /* !defined(PERL_NO_INLINE_FUNCTIONS) */ #endif /* defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \ defined(PERL_IN_PP_C) || defined(PERL_IN_REGCOMP_ANY) || \ defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) || \ @@ -6365,29 +6317,6 @@ S_is_invlist(const SV * const invlist) #if defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \ defined(PERL_IN_REGCOMP_ANY) -# if !defined(PERL_NO_INLINE_FUNCTIONS) -PERL_STATIC_INLINE SV * -S_add_cp_to_invlist(pTHX_ SV *invlist, const UV cp) - __attribute__warn_unused_result__; -# define PERL_ARGS_ASSERT_ADD_CP_TO_INVLIST - -PERL_STATIC_INLINE void -S_invlist_extend(pTHX_ SV * const invlist, const UV len); -# define PERL_ARGS_ASSERT_INVLIST_EXTEND \ - assert(invlist) - -PERL_STATIC_INLINE UV -S_invlist_highest(SV * const invlist) - __attribute__warn_unused_result__; -# define PERL_ARGS_ASSERT_INVLIST_HIGHEST \ - assert(invlist) - -PERL_STATIC_INLINE void -S_invlist_set_len(pTHX_ SV * const invlist, const UV len, const bool offset); -# define PERL_ARGS_ASSERT_INVLIST_SET_LEN \ - assert(invlist) - -# endif /* !defined(PERL_NO_INLINE_FUNCTIONS) */ #endif /* defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \ defined(PERL_IN_REGCOMP_ANY) */ #if defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \ @@ -7091,16 +7020,6 @@ S_my_langinfo_i(pTHX_ const int item, const unsigned int cat_index, const char * assert(locale); assert(retbufp) # endif /* !( defined(HAS_NL_LANGINFO) || defined(HAS_NL_LANGINFO_L) ) */ -# if ( !defined(LC_ALL) || defined(USE_POSIX_2008_LOCALE) || defined(WIN32) \ - ) && !( defined(USE_POSIX_2008_LOCALE) && defined(USE_QUERYLOCALE) ) -STATIC const char * -S_calculate_LC_ALL(pTHX_ const char **individ_locales); -# define PERL_ARGS_ASSERT_CALCULATE_LC_ALL \ - assert(individ_locales) - -# endif /* ( !defined(LC_ALL) || defined(USE_POSIX_2008_LOCALE) || \ - defined(WIN32) ) && !( defined(USE_POSIX_2008_LOCALE) && \ - defined(USE_QUERYLOCALE) ) */ # if !defined(PERL_NO_INLINE_FUNCTIONS) PERL_STATIC_INLINE const char * S_mortalized_pv_copy(pTHX_ const char * const pv) @@ -7196,18 +7115,19 @@ S_less_dicey_bool_setlocale_r(pTHX_ const int cat, const char *locale); assert(locale) # endif /* 0 */ -# endif /* ( defined(USE_LOCALE_THREADS) && \ - !defined(USE_THREAD_SAFE_LOCALE) && \ - !defined(USE_THREAD_SAFE_LOCALE_EMULATION) ) && \ - !defined(USE_POSIX_2008_LOCALE) */ -# if ( defined(USE_POSIX_2008_LOCALE) && !defined(USE_QUERYLOCALE) ) || \ - defined(WIN32) +# endif /* !defined(USE_POSIX_2008_LOCALE) && ( defined(USE_LOCALE_THREADS) \ + && !defined(USE_THREAD_SAFE_LOCALE) && \ + !defined(USE_THREAD_SAFE_LOCALE_EMULATION) ) */ +# if !( defined(USE_POSIX_2008_LOCALE) && defined(USE_QUERYLOCALE) ) && ( \ + !defined(LC_ALL) || defined(USE_POSIX_2008_LOCALE) || defined(WIN32) ) STATIC const char * -S_find_locale_from_environment(pTHX_ const unsigned int index); -# define PERL_ARGS_ASSERT_FIND_LOCALE_FROM_ENVIRONMENT +S_calculate_LC_ALL(pTHX_ const char **individ_locales); +# define PERL_ARGS_ASSERT_CALCULATE_LC_ALL \ + assert(individ_locales) -# endif /* ( defined(USE_POSIX_2008_LOCALE) && !defined(USE_QUERYLOCALE) ) \ - || defined(WIN32) */ +# endif /* !( defined(USE_POSIX_2008_LOCALE) && defined(USE_QUERYLOCALE) ) \ + && ( !defined(LC_ALL) || defined(USE_POSIX_2008_LOCALE) || \ + defined(WIN32) ) */ # if defined(WIN32) STATIC wchar_t * S_Win_byte_string_to_wstring(const UINT code_page, const char *byte_string); @@ -7226,6 +7146,14 @@ S_wrap_wsetlocale(pTHX_ const int category, const char *locale); # define PERL_ARGS_ASSERT_WRAP_WSETLOCALE # endif /* defined(WIN32) */ +# if defined(WIN32) || ( defined(USE_POSIX_2008_LOCALE) && \ + !defined(USE_QUERYLOCALE) ) +STATIC const char * +S_find_locale_from_environment(pTHX_ const unsigned int index); +# define PERL_ARGS_ASSERT_FIND_LOCALE_FROM_ENVIRONMENT + +# endif /* defined(WIN32) || ( defined(USE_POSIX_2008_LOCALE) && \ + !defined(USE_QUERYLOCALE) ) */ # endif /* defined(USE_LOCALE) */ # if defined(USE_POSIX_2008_LOCALE) || defined(DEBUGGING) STATIC const char * @@ -7523,53 +7451,14 @@ Perl_warn_elem_scalar_context(pTHX_ const OP *o, SV *name, bool is_hash, bool is # define PERL_ARGS_ASSERT_WARN_ELEM_SCALAR_CONTEXT \ assert(o); assert(name) -# if defined(USE_ITHREADS) -PERL_CALLCONV void -Perl_op_relocate_sv(pTHX_ SV **svp, PADOFFSET *targp) - __attribute__visibility__("hidden"); -# define PERL_ARGS_ASSERT_OP_RELOCATE_SV \ - assert(svp); assert(targp) - -# endif /* defined(USE_ITHREADS) */ #endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_PEEP_C) */ #if defined(PERL_IN_OP_C) || defined(PERL_IN_PERLY_C) || \ defined(PERL_IN_TOKE_C) -# if !defined(NO_MATHOMS) -PERL_CALLCONV OP * -Perl_ref(pTHX_ OP *o, I32 type) - __attribute__visibility__("hidden"); -# define PERL_ARGS_ASSERT_REF - -# endif /* !defined(NO_MATHOMS) */ #endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_PERLY_C) || \ defined(PERL_IN_TOKE_C) */ #if defined(PERL_IN_OP_C) || defined(PERL_IN_REGCOMP_ANY) -# if !defined(PERL_NO_INLINE_FUNCTIONS) -PERL_STATIC_INLINE STRLEN * -S_get_invlist_iter_addr(SV *invlist) - __attribute__warn_unused_result__; -# define PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR \ - assert(invlist) - -PERL_STATIC_INLINE void -S_invlist_iterfinish(SV *invlist); -# define PERL_ARGS_ASSERT_INVLIST_ITERFINISH \ - assert(invlist) - -PERL_STATIC_INLINE void -S_invlist_iterinit(SV *invlist); -# define PERL_ARGS_ASSERT_INVLIST_ITERINIT \ - assert(invlist) - -PERL_STATIC_INLINE bool -S_invlist_iternext(SV *invlist, UV *start, UV *end) - __attribute__warn_unused_result__; -# define PERL_ARGS_ASSERT_INVLIST_ITERNEXT \ - assert(invlist); assert(start); assert(end) - -# endif /* !defined(PERL_NO_INLINE_FUNCTIONS) */ #endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_REGCOMP_ANY) */ #if defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C) PERL_CALLCONV void @@ -7768,14 +7657,6 @@ Perl_softref2xv(pTHX_ SV * const sv, const char * const what, const svtype type, # define PERL_ARGS_ASSERT_SOFTREF2XV \ assert(sv); assert(what); assert(spp) -# if !defined(PERL_NO_INLINE_FUNCTIONS) -PERL_STATIC_INLINE bool -S_lossless_NV_to_IV(const NV nv, IV *ivp) - __attribute__warn_unused_result__; -# define PERL_ARGS_ASSERT_LOSSLESS_NV_TO_IV \ - assert(ivp) - -# endif /* !defined(PERL_NO_INLINE_FUNCTIONS) */ #endif /* defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) */ #if defined(PERL_IN_PP_C) || defined(PERL_IN_UTF8_C) PERL_CALLCONV UV @@ -10069,6 +9950,94 @@ Perl_my_strnlen(const char *str, Size_t maxlen); assert(str) # endif /* !defined(HAS_STRNLEN) */ +# if defined(PERL_CORE) || defined(PERL_EXT) +PERL_STATIC_INLINE bool +Perl_is_utf8_non_invariant_string(const U8 * const s, STRLEN len) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT_IS_UTF8_NON_INVARIANT_STRING \ + assert(s) + +PERL_STATIC_INLINE STRLEN +S_sv_or_pv_pos_u2b(pTHX_ SV *sv, const char *pv, STRLEN pos, STRLEN *lenp); +# define PERL_ARGS_ASSERT_SV_OR_PV_POS_U2B \ + assert(sv); assert(pv) + +PERL_STATIC_INLINE Size_t +S_variant_under_utf8_count(const U8 * const s, const U8 * const e) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT_VARIANT_UNDER_UTF8_COUNT \ + assert(s); assert(e) + +# if !defined(HAS_MEMRCHR) +PERL_STATIC_INLINE void * +S_my_memrchr(const char *s, const char c, const STRLEN len); +# define PERL_ARGS_ASSERT_MY_MEMRCHR \ + assert(s) + +# endif /* !defined(HAS_MEMRCHR) */ +# endif /* defined(PERL_CORE) || defined(PERL_EXT) */ +# if defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \ + defined(PERL_IN_PP_C) || defined(PERL_IN_REGCOMP_ANY) || \ + defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) || \ + defined(PERL_IN_UTF8_C) +PERL_STATIC_INLINE bool +S__invlist_contains_cp(SV * const invlist, const UV cp) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT__INVLIST_CONTAINS_CP \ + assert(invlist) + +PERL_STATIC_INLINE UV +S__invlist_len(SV * const invlist) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT__INVLIST_LEN \ + assert(invlist) + +PERL_STATIC_INLINE bool * +S_get_invlist_offset_addr(SV *invlist) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT_GET_INVLIST_OFFSET_ADDR \ + assert(invlist) + +PERL_STATIC_INLINE UV * +S_invlist_array(SV * const invlist) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT_INVLIST_ARRAY \ + assert(invlist) + +PERL_STATIC_INLINE bool +S_is_invlist(const SV * const invlist) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT_IS_INVLIST + +# endif /* defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \ + defined(PERL_IN_PP_C) || defined(PERL_IN_REGCOMP_ANY) || \ + defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) || \ + defined(PERL_IN_UTF8_C) */ +# if defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \ + defined(PERL_IN_REGCOMP_ANY) +PERL_STATIC_INLINE SV * +S_add_cp_to_invlist(pTHX_ SV *invlist, const UV cp) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT_ADD_CP_TO_INVLIST + +PERL_STATIC_INLINE void +S_invlist_extend(pTHX_ SV * const invlist, const UV len); +# define PERL_ARGS_ASSERT_INVLIST_EXTEND \ + assert(invlist) + +PERL_STATIC_INLINE UV +S_invlist_highest(SV * const invlist) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT_INVLIST_HIGHEST \ + assert(invlist) + +PERL_STATIC_INLINE void +S_invlist_set_len(pTHX_ SV * const invlist, const UV len, const bool offset); +# define PERL_ARGS_ASSERT_INVLIST_SET_LEN \ + assert(invlist) + +# endif /* defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \ + defined(PERL_IN_REGCOMP_ANY) */ # if defined(PERL_IN_OP_C) || defined(PERL_IN_PAD_C) PERL_STATIC_INLINE bool S_PadnameIN_SCOPE(const PADNAME * const pn, const U32 seq); @@ -10076,6 +10045,38 @@ S_PadnameIN_SCOPE(const PADNAME * const pn, const U32 seq); assert(pn) # endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_PAD_C) */ +# if defined(PERL_IN_OP_C) || defined(PERL_IN_REGCOMP_ANY) +PERL_STATIC_INLINE STRLEN * +S_get_invlist_iter_addr(SV *invlist) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR \ + assert(invlist) + +PERL_STATIC_INLINE void +S_invlist_iterfinish(SV *invlist); +# define PERL_ARGS_ASSERT_INVLIST_ITERFINISH \ + assert(invlist) + +PERL_STATIC_INLINE void +S_invlist_iterinit(SV *invlist); +# define PERL_ARGS_ASSERT_INVLIST_ITERINIT \ + assert(invlist) + +PERL_STATIC_INLINE bool +S_invlist_iternext(SV *invlist, UV *start, UV *end) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT_INVLIST_ITERNEXT \ + assert(invlist); assert(start); assert(end) + +# endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_REGCOMP_ANY) */ +# if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) +PERL_STATIC_INLINE bool +S_lossless_NV_to_IV(const NV nv, IV *ivp) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT_LOSSLESS_NV_TO_IV \ + assert(ivp) + +# endif /* defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) */ # if defined(PERL_IN_PP_C) || defined(PERL_IN_REGCOMP_ANY) || \ defined(PERL_IN_TOKE_C) || defined(PERL_IN_UNIVERSAL_C) PERL_STATIC_INLINE const char * @@ -10341,6 +10342,14 @@ Perl_sv_dup_inc(pTHX_ const SV * const ssv, CLONE_PARAMS * const param) # define PERL_ARGS_ASSERT_SV_DUP_INC \ assert(param) +# if defined(PERL_IN_OP_C) || defined(PERL_IN_PEEP_C) +PERL_CALLCONV void +Perl_op_relocate_sv(pTHX_ SV **svp, PADOFFSET *targp) + __attribute__visibility__("hidden"); +# define PERL_ARGS_ASSERT_OP_RELOCATE_SV \ + assert(svp); assert(targp) + +# endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_PEEP_C) */ #else /* if !defined(USE_ITHREADS) */ /* PERL_CALLCONV void CopFILEGV_set(pTHX_ COP *c, GV *gv); */ diff --git a/regen/HeaderParser.pm b/regen/HeaderParser.pm index 7272a596c8..6869094874 100644 --- a/regen/HeaderParser.pm +++ b/regen/HeaderParser.pm @@ -196,6 +196,13 @@ sub _tokenize_expr { return \@tokens; } +sub _count_ops { + my ($self, $term)= @_; + my $count = 0; + $count++ while $term =~ m/(?: \|\| | \&\& | \? )/gx; + return $count; +} + # sort terms in an expression in a way that puts things # in a sensible order. Anything starting with PERL_IN_ # should be on the left in alphabetical order. Digits @@ -211,13 +218,15 @@ sub _sort_terms { lc($_) =~ s/[^a-zA-Z0-9]//gr, # 1: "_" stripped and caseless $_ =~ m/PERL_IN_/ ? 1 : 0, # 2: PERL_IN_ labeled define $_ =~ m/^\d/ ? 1 : 0, # 3: digit - $_ =~ m/DEBUGGING/ ? 1 : 0 # 4: DEBUGGING? + $_ =~ m/DEBUGGING/ ? 1 : 0, # 4: DEBUGGING? + $self->_count_ops($_), # 5: Number of ops (||, && and ternary) ] } @_; my %seen; #start-no-tidy @terms= map { $seen{ $_->[0] }++ ? () : $_->[0] } sort { + $a->[5] <=> $b->[5] || # least number of ops $b->[2] <=> $a->[2] || # PERL_IN before others $a->[3] <=> $b->[3] || # digits after others $a->[4] <=> $b->[4] || # DEBUGGING after all else |