summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embed.fnc45
-rw-r--r--embed.h110
-rw-r--r--proto.h325
-rw-r--r--regen/HeaderParser.pm11
4 files changed, 256 insertions, 235 deletions
diff --git a/embed.fnc b/embed.fnc
index a0efe86d35..64aca13537 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -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
diff --git a/embed.h b/embed.h
index c27c109623..f3d2ff9d8e 100644
--- a/embed.h
+++ b/embed.h
@@ -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)
diff --git a/proto.h b/proto.h
index 358da8ca3f..51a3da2582 100644
--- a/proto.h
+++ b/proto.h
@@ -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