This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add embed.fnc entries for Cv inline fcns
[perl5.git] / proto.h
CommitLineData
78102347 1/* -*- buffer-read-only: t -*-
37442d52 2 *
f5e3445d
RGS
3 * proto.h
4 *
78102347
NC
5 * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
6 * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others
f5e3445d
RGS
7 *
8 * You may distribute under the terms of either the GNU General Public
9 * License or the Artistic License, as specified in the README file.
10 *
11 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
d7cb65f2 12 * This file is built by regen/embed.pl from data in embed.fnc,
78102347 13 * regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h.
f5e3445d
RGS
14 * Any changes made here will be lost!
15 *
16 * Edit those files and run 'make regen_headers' to effect changes.
17 */
1d7c1841 18
1d7c1841 19START_EXTERN_C
3f1866a8 20#ifndef NO_MATHOMS
3d81eea6
KW
21PERL_CALLCONV UV ASCII_TO_NEED(const UV enc, const UV ch)
22 __attribute__deprecated__
23 __attribute__warn_unused_result__
24 __attribute__pure__;
2015d234 25#define PERL_ARGS_ASSERT_ASCII_TO_NEED
3f1866a8 26#endif
3d81eea6 27
74804ad1
KW
28#ifndef PERL_NO_INLINE_FUNCTIONS
29PERL_STATIC_INLINE I32 * Perl_CvDEPTH(const CV * const sv);
30#define PERL_ARGS_ASSERT_CVDEPTH \
31 assert(sv)
32#endif
33#ifndef PERL_NO_INLINE_FUNCTIONS
34PERL_STATIC_INLINE GV * Perl_CvGV(pTHX_ CV *sv);
35#define PERL_ARGS_ASSERT_CVGV \
36 assert(sv)
37#endif
6ba07ce1 38PERL_CALLCONV int Perl_Gv_AMupdate(pTHX_ HV* stash, bool destructing);
e8a67806
NC
39#define PERL_ARGS_ASSERT_GV_AMUPDATE \
40 assert(stash)
3f1866a8 41#ifndef NO_MATHOMS
3d81eea6
KW
42PERL_CALLCONV UV NATIVE_TO_NEED(const UV enc, const UV ch)
43 __attribute__deprecated__
44 __attribute__warn_unused_result__
45 __attribute__pure__;
2015d234 46#define PERL_ARGS_ASSERT_NATIVE_TO_NEED
3f1866a8 47#endif
3d81eea6 48
e8a67806 49PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode);
2015d234 50#define PERL_ARGS_ASSERT_PERLIO_CONTEXT_LAYERS
884fc2d3 51PERL_CALLCONV int Perl_PerlLIO_dup2_cloexec(pTHX_ int oldfd, int newfd);
2015d234 52#define PERL_ARGS_ASSERT_PERLLIO_DUP2_CLOEXEC
f9821aff
Z
53PERL_CALLCONV int Perl_PerlLIO_dup_cloexec(pTHX_ int oldfd)
54 __attribute__warn_unused_result__;
2015d234 55#define PERL_ARGS_ASSERT_PERLLIO_DUP_CLOEXEC
f9821aff
Z
56
57PERL_CALLCONV int Perl_PerlLIO_open3_cloexec(pTHX_ const char *file, int flag, int perm)
58 __attribute__warn_unused_result__;
59#define PERL_ARGS_ASSERT_PERLLIO_OPEN3_CLOEXEC \
60 assert(file)
61
62PERL_CALLCONV int Perl_PerlLIO_open_cloexec(pTHX_ const char *file, int flag)
63 __attribute__warn_unused_result__;
64#define PERL_ARGS_ASSERT_PERLLIO_OPEN_CLOEXEC \
65 assert(file)
66
9aac5db8 67PERL_CALLCONV const char* Perl_setlocale(const int category, const char* locale);
2015d234 68#define PERL_ARGS_ASSERT_PERL_SETLOCALE
8be227ab 69PERL_CALLCONV void* Perl_Slab_Alloc(pTHX_ size_t sz)
8be227ab 70 __attribute__warn_unused_result__;
2015d234 71#define PERL_ARGS_ASSERT_SLAB_ALLOC
8be227ab 72
6ba07ce1 73PERL_CALLCONV void Perl_Slab_Free(pTHX_ void *op);
8be227ab
FC
74#define PERL_ARGS_ASSERT_SLAB_FREE \
75 assert(op)
3f2f854a
KW
76#ifndef PERL_NO_INLINE_FUNCTIONS
77PERL_STATIC_INLINE void Perl_SvREFCNT_dec(pTHX_ SV *sv);
78#define PERL_ARGS_ASSERT_SVREFCNT_DEC
79#endif
80#ifndef PERL_NO_INLINE_FUNCTIONS
81PERL_STATIC_INLINE void Perl_SvREFCNT_dec_NN(pTHX_ SV *sv);
82#define PERL_ARGS_ASSERT_SVREFCNT_DEC_NN \
83 assert(sv)
84#endif
85#ifndef PERL_NO_INLINE_FUNCTIONS
86PERL_STATIC_INLINE SV * Perl_SvREFCNT_inc(SV *sv);
87#define PERL_ARGS_ASSERT_SVREFCNT_INC
88#endif
89#ifndef PERL_NO_INLINE_FUNCTIONS
90PERL_STATIC_INLINE SV * Perl_SvREFCNT_inc_NN(SV *sv);
91#define PERL_ARGS_ASSERT_SVREFCNT_INC_NN \
92 assert(sv)
93#endif
94#ifndef PERL_NO_INLINE_FUNCTIONS
95PERL_STATIC_INLINE void Perl_SvREFCNT_inc_void(SV *sv);
96#define PERL_ARGS_ASSERT_SVREFCNT_INC_VOID
97#endif
63ab03b3 98PERL_CALLCONV char * Perl__byte_dump_string(pTHX_ const U8 * const start, const STRLEN len, const bool format);
7e2f38b2 99#define PERL_ARGS_ASSERT__BYTE_DUMP_STRING \
63ab03b3 100 assert(start)
9cbfb8ab
KW
101PERL_CALLCONV void Perl__force_out_malformed_utf8_message(pTHX_ const U8 *const p, const U8 * const e, const U32 flags, const bool die_here);
102#define PERL_ARGS_ASSERT__FORCE_OUT_MALFORMED_UTF8_MESSAGE \
103 assert(p); assert(e)
e39a4130 104PERL_CALLCONV Size_t Perl__inverse_folds(pTHX_ const UV cp, unsigned int * first_folds_to, const unsigned int ** remaining_folds_to)
b74fe592
KW
105 __attribute__warn_unused_result__;
106#define PERL_ARGS_ASSERT__INVERSE_FOLDS \
107 assert(first_folds_to); assert(remaining_folds_to)
108
d6ded950 109PERL_CALLCONV bool Perl__is_in_locale_category(pTHX_ const bool compiling, const int category);
2015d234 110#define PERL_ARGS_ASSERT__IS_IN_LOCALE_CATEGORY
922e8cb4
KW
111PERL_CALLCONV bool Perl__is_uni_FOO(pTHX_ const U8 classnum, const UV c)
112 __attribute__warn_unused_result__;
2015d234 113#define PERL_ARGS_ASSERT__IS_UNI_FOO
922e8cb4 114
eba68aa0
KW
115PERL_CALLCONV bool Perl__is_uni_perl_idcont(pTHX_ UV c)
116 __attribute__warn_unused_result__;
2015d234 117#define PERL_ARGS_ASSERT__IS_UNI_PERL_IDCONT
eba68aa0 118
f91dcd13
KW
119PERL_CALLCONV bool Perl__is_uni_perl_idstart(pTHX_ UV c)
120 __attribute__warn_unused_result__;
2015d234 121#define PERL_ARGS_ASSERT__IS_UNI_PERL_IDSTART
f91dcd13 122
34aeb2e9 123PERL_CALLCONV bool Perl__is_utf8_FOO(pTHX_ U8 classnum, const U8 * const p, const char * const name, const char * const alternative, const bool use_utf8, const bool use_locale, const char * const file, const unsigned line)
6ba07ce1 124 __attribute__warn_unused_result__;
922e8cb4 125#define PERL_ARGS_ASSERT__IS_UTF8_FOO \
34aeb2e9 126 assert(p); assert(name); assert(alternative); assert(file)
922e8cb4 127
da8c1a98
KW
128PERL_CALLCONV bool Perl__is_utf8_FOO_with_len(pTHX_ const U8 classnum, const U8 *p, const U8 * const e)
129 __attribute__warn_unused_result__;
130#define PERL_ARGS_ASSERT__IS_UTF8_FOO_WITH_LEN \
131 assert(p); assert(e)
132
f2645549 133PERL_CALLCONV bool Perl__is_utf8_idcont(pTHX_ const U8 *p)
6ba07ce1 134 __attribute__warn_unused_result__;
f2645549
KW
135#define PERL_ARGS_ASSERT__IS_UTF8_IDCONT \
136 assert(p)
137
138PERL_CALLCONV bool Perl__is_utf8_idstart(pTHX_ const U8 *p)
6ba07ce1 139 __attribute__warn_unused_result__;
f2645549
KW
140#define PERL_ARGS_ASSERT__IS_UTF8_IDSTART \
141 assert(p)
142
7dbf68d2 143PERL_CALLCONV bool Perl__is_utf8_mark(pTHX_ const U8 *p)
6ba07ce1 144 __attribute__warn_unused_result__;
7dbf68d2
KW
145#define PERL_ARGS_ASSERT__IS_UTF8_MARK \
146 assert(p)
147
da8c1a98
KW
148PERL_CALLCONV bool Perl__is_utf8_perl_idcont_with_len(pTHX_ const U8 *p, const U8 * const e)
149 __attribute__warn_unused_result__;
150#define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDCONT_WITH_LEN \
151 assert(p); assert(e)
152
da8c1a98
KW
153PERL_CALLCONV bool Perl__is_utf8_perl_idstart_with_len(pTHX_ const U8 *p, const U8 * const e)
154 __attribute__warn_unused_result__;
155#define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDSTART_WITH_LEN \
156 assert(p); assert(e)
157
f2645549 158PERL_CALLCONV bool Perl__is_utf8_xidcont(pTHX_ const U8 *p)
6ba07ce1 159 __attribute__warn_unused_result__;
f2645549
KW
160#define PERL_ARGS_ASSERT__IS_UTF8_XIDCONT \
161 assert(p)
162
163PERL_CALLCONV bool Perl__is_utf8_xidstart(pTHX_ const U8 *p)
6ba07ce1 164 __attribute__warn_unused_result__;
f2645549
KW
165#define PERL_ARGS_ASSERT__IS_UTF8_XIDSTART \
166 assert(p)
167
6ba07ce1 168PERL_CALLCONV UV Perl__to_uni_fold_flags(pTHX_ UV c, U8 *p, STRLEN *lenp, U8 flags);
36bb2ab6
KW
169#define PERL_ARGS_ASSERT__TO_UNI_FOLD_FLAGS \
170 assert(p); assert(lenp)
607313a1 171PERL_CALLCONV UV Perl__to_utf8_fold_flags(pTHX_ const U8 *p, const U8 *e, U8* ustrp, STRLEN *lenp, U8 flags, const char * const file, const int line);
36bb2ab6 172#define PERL_ARGS_ASSERT__TO_UTF8_FOLD_FLAGS \
607313a1
KW
173 assert(p); assert(ustrp); assert(file)
174PERL_CALLCONV UV Perl__to_utf8_lower_flags(pTHX_ const U8 *p, const U8* e, U8* ustrp, STRLEN *lenp, bool flags, const char * const file, const int line);
051a06d4 175#define PERL_ARGS_ASSERT__TO_UTF8_LOWER_FLAGS \
607313a1
KW
176 assert(p); assert(ustrp); assert(file)
177PERL_CALLCONV UV Perl__to_utf8_title_flags(pTHX_ const U8 *p, const U8* e, U8* ustrp, STRLEN *lenp, bool flags, const char * const file, const int line);
051a06d4 178#define PERL_ARGS_ASSERT__TO_UTF8_TITLE_FLAGS \
607313a1
KW
179 assert(p); assert(ustrp); assert(file)
180PERL_CALLCONV UV Perl__to_utf8_upper_flags(pTHX_ const U8 *p, const U8 *e, U8* ustrp, STRLEN *lenp, bool flags, const char * const file, const int line);
051a06d4 181#define PERL_ARGS_ASSERT__TO_UTF8_UPPER_FLAGS \
607313a1 182 assert(p); assert(ustrp); assert(file)
e6a4ffc3
KW
183PERL_CALLCONV UV Perl__utf8n_to_uvchr_msgs_helper(const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags, U32 * errors, AV ** msgs);
184#define PERL_ARGS_ASSERT__UTF8N_TO_UVCHR_MSGS_HELPER \
185 assert(s)
2726666d 186PERL_CALLCONV void Perl__warn_problematic_locale(void);
2015d234 187#define PERL_ARGS_ASSERT__WARN_PROBLEMATIC_LOCALE
cc8b45bd
AL
188PERL_CALLCONV_NO_RET void Perl_abort_execution(pTHX_ const char * const msg, const char * const name)
189 __attribute__noreturn__;
c77da5ff
KW
190#define PERL_ARGS_ASSERT_ABORT_EXECUTION \
191 assert(msg); assert(name)
cc8b45bd 192
6cb4123e 193PERL_CALLCONV LOGOP* Perl_alloc_LOGOP(pTHX_ I32 type, OP *first, OP *other);
2015d234 194#define PERL_ARGS_ASSERT_ALLOC_LOGOP
6ba07ce1 195PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name, const STRLEN len, const U32 flags);
e8a67806
NC
196#define PERL_ARGS_ASSERT_ALLOCMY \
197 assert(name)
6ba07ce1 198PERL_CALLCONV SV* Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir);
7918f24d
NC
199#define PERL_ARGS_ASSERT_AMAGIC_CALL \
200 assert(left); assert(right)
6ba07ce1 201PERL_CALLCONV SV * Perl_amagic_deref_call(pTHX_ SV *ref, int method);
25a9ffce
NC
202#define PERL_ARGS_ASSERT_AMAGIC_DEREF_CALL \
203 assert(ref)
8d569291 204PERL_CALLCONV bool Perl_amagic_is_enabled(pTHX_ int method);
2015d234 205#define PERL_ARGS_ASSERT_AMAGIC_IS_ENABLED
a5d565cd 206#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 207PERL_STATIC_INLINE void Perl_append_utf8_from_native_byte(const U8 byte, U8** dest);
a5d565cd
JH
208#define PERL_ARGS_ASSERT_APPEND_UTF8_FROM_NATIVE_BYTE \
209 assert(dest)
210#endif
6ba07ce1 211PERL_CALLCONV I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp);
7918f24d
NC
212#define PERL_ARGS_ASSERT_APPLY \
213 assert(mark); assert(sp)
6ba07ce1 214PERL_CALLCONV void Perl_apply_attrs_string(pTHX_ const char *stashpv, CV *cv, const char *attrstr, STRLEN len);
7918f24d
NC
215#define PERL_ARGS_ASSERT_APPLY_ATTRS_STRING \
216 assert(stashpv); assert(cv); assert(attrstr)
e8a67806 217PERL_CALLCONV void Perl_atfork_lock(void);
2015d234 218#define PERL_ARGS_ASSERT_ATFORK_LOCK
e8a67806 219PERL_CALLCONV void Perl_atfork_unlock(void);
2015d234 220#define PERL_ARGS_ASSERT_ATFORK_UNLOCK
6ba07ce1 221PERL_CALLCONV SV** Perl_av_arylen_p(pTHX_ AV *av);
e8a67806
NC
222#define PERL_ARGS_ASSERT_AV_ARYLEN_P \
223 assert(av)
6ba07ce1 224PERL_CALLCONV void Perl_av_clear(pTHX_ AV *av);
7918f24d
NC
225#define PERL_ARGS_ASSERT_AV_CLEAR \
226 assert(av)
6ba07ce1 227PERL_CALLCONV void Perl_av_create_and_push(pTHX_ AV **const avp, SV *const val);
e8a67806
NC
228#define PERL_ARGS_ASSERT_AV_CREATE_AND_PUSH \
229 assert(avp); assert(val)
6ba07ce1 230PERL_CALLCONV SV** Perl_av_create_and_unshift_one(pTHX_ AV **const avp, SV *const val);
e8a67806
NC
231#define PERL_ARGS_ASSERT_AV_CREATE_AND_UNSHIFT_ONE \
232 assert(avp); assert(val)
6ba07ce1 233PERL_CALLCONV SV* Perl_av_delete(pTHX_ AV *av, SSize_t key, I32 flags);
7918f24d
NC
234#define PERL_ARGS_ASSERT_AV_DELETE \
235 assert(av)
c70927a6 236PERL_CALLCONV bool Perl_av_exists(pTHX_ AV *av, SSize_t key)
6ba07ce1 237 __attribute__warn_unused_result__;
7918f24d
NC
238#define PERL_ARGS_ASSERT_AV_EXISTS \
239 assert(av)
a3b680e6 240
6ba07ce1 241PERL_CALLCONV void Perl_av_extend(pTHX_ AV *av, SSize_t key);
7918f24d
NC
242#define PERL_ARGS_ASSERT_AV_EXTEND \
243 assert(av)
6ba07ce1 244PERL_CALLCONV void Perl_av_extend_guts(pTHX_ AV *av, SSize_t key, SSize_t *maxp, SV ***allocp, SV ***arrayp);
7261499d
FC
245#define PERL_ARGS_ASSERT_AV_EXTEND_GUTS \
246 assert(maxp); assert(allocp); assert(arrayp)
c70927a6 247PERL_CALLCONV SV** Perl_av_fetch(pTHX_ AV *av, SSize_t key, I32 lval)
6ba07ce1 248 __attribute__warn_unused_result__;
7918f24d
NC
249#define PERL_ARGS_ASSERT_AV_FETCH \
250 assert(av)
a3b680e6 251
6ba07ce1 252PERL_CALLCONV void Perl_av_fill(pTHX_ AV *av, SSize_t fill);
7918f24d
NC
253#define PERL_ARGS_ASSERT_AV_FILL \
254 assert(av)
6ba07ce1 255PERL_CALLCONV IV* Perl_av_iter_p(pTHX_ AV *av);
e8a67806
NC
256#define PERL_ARGS_ASSERT_AV_ITER_P \
257 assert(av)
c70927a6 258PERL_CALLCONV SSize_t Perl_av_len(pTHX_ AV *av)
6ba07ce1 259 __attribute__warn_unused_result__;
7918f24d
NC
260#define PERL_ARGS_ASSERT_AV_LEN \
261 assert(av)
a3b680e6 262
c70927a6 263PERL_CALLCONV AV* Perl_av_make(pTHX_ SSize_t size, SV **strp)
6ba07ce1 264 __attribute__warn_unused_result__;
7918f24d
NC
265#define PERL_ARGS_ASSERT_AV_MAKE \
266 assert(strp)
a3b680e6 267
1f1dcfb5
FC
268PERL_CALLCONV SV* Perl_av_nonelem(pTHX_ AV *av, SSize_t ix);
269#define PERL_ARGS_ASSERT_AV_NONELEM \
270 assert(av)
6ba07ce1 271PERL_CALLCONV SV* Perl_av_pop(pTHX_ AV *av);
7918f24d
NC
272#define PERL_ARGS_ASSERT_AV_POP \
273 assert(av)
6ba07ce1 274PERL_CALLCONV void Perl_av_push(pTHX_ AV *av, SV *val);
7918f24d 275#define PERL_ARGS_ASSERT_AV_PUSH \
06942096 276 assert(av); assert(val)
6ba07ce1 277PERL_CALLCONV void Perl_av_reify(pTHX_ AV *av);
7918f24d
NC
278#define PERL_ARGS_ASSERT_AV_REIFY \
279 assert(av)
4048f010 280PERL_CALLCONV SV* Perl_av_shift(pTHX_ AV *av)
6ba07ce1 281 __attribute__warn_unused_result__;
7918f24d
NC
282#define PERL_ARGS_ASSERT_AV_SHIFT \
283 assert(av)
7a5b473e 284
6ba07ce1 285PERL_CALLCONV SV** Perl_av_store(pTHX_ AV *av, SSize_t key, SV *val);
7918f24d
NC
286#define PERL_ARGS_ASSERT_AV_STORE \
287 assert(av)
ef9e3b4d 288/* PERL_CALLCONV SSize_t av_tindex(pTHX_ AV *av)
6ba07ce1 289 __attribute__warn_unused_result__; */
2015d234 290#define PERL_ARGS_ASSERT_AV_TINDEX
12719193 291
a5d565cd 292#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 293PERL_STATIC_INLINE SSize_t Perl_av_top_index(pTHX_ AV *av)
a5d565cd
JH
294 __attribute__warn_unused_result__;
295#define PERL_ARGS_ASSERT_AV_TOP_INDEX \
296 assert(av)
297#endif
298
6ba07ce1 299PERL_CALLCONV void Perl_av_undef(pTHX_ AV *av);
7918f24d
NC
300#define PERL_ARGS_ASSERT_AV_UNDEF \
301 assert(av)
6ba07ce1 302PERL_CALLCONV void Perl_av_unshift(pTHX_ AV *av, SSize_t num);
7918f24d
NC
303#define PERL_ARGS_ASSERT_AV_UNSHIFT \
304 assert(av)
4048f010 305PERL_CALLCONV OP* Perl_bind_match(pTHX_ I32 type, OP *left, OP *right)
6ba07ce1 306 __attribute__warn_unused_result__;
7918f24d
NC
307#define PERL_ARGS_ASSERT_BIND_MATCH \
308 assert(left); assert(right)
a3b680e6
AL
309
310PERL_CALLCONV OP* Perl_block_end(pTHX_ I32 floor, OP* seq)
6472dca1 311 __attribute__warn_unused_result__;
2015d234 312#define PERL_ARGS_ASSERT_BLOCK_END
a3b680e6 313
1c23e2bd 314PERL_CALLCONV U8 Perl_block_gimme(pTHX)
abb2c242 315 __attribute__warn_unused_result__;
2015d234 316#define PERL_ARGS_ASSERT_BLOCK_GIMME
a3b680e6
AL
317
318PERL_CALLCONV int Perl_block_start(pTHX_ int full)
abb2c242 319 __attribute__warn_unused_result__;
2015d234 320#define PERL_ARGS_ASSERT_BLOCK_START
a3b680e6 321
6ba07ce1 322PERL_CALLCONV void Perl_blockhook_register(pTHX_ BHK *hk);
bb6c22e7
BM
323#define PERL_ARGS_ASSERT_BLOCKHOOK_REGISTER \
324 assert(hk)
36ed5425 325PERL_CALLCONV void Perl_boot_core_PerlIO(pTHX);
2015d234 326#define PERL_ARGS_ASSERT_BOOT_CORE_PERLIO
e8a67806 327PERL_CALLCONV void Perl_boot_core_UNIVERSAL(pTHX);
2015d234 328#define PERL_ARGS_ASSERT_BOOT_CORE_UNIVERSAL
e8a67806 329PERL_CALLCONV void Perl_boot_core_mro(pTHX);
2015d234 330#define PERL_ARGS_ASSERT_BOOT_CORE_MRO
6ba07ce1 331PERL_CALLCONV int Perl_bytes_cmp_utf8(pTHX_ const U8 *b, STRLEN blen, const U8 *u, STRLEN ulen);
fed3ba5d
NC
332#define PERL_ARGS_ASSERT_BYTES_CMP_UTF8 \
333 assert(b); assert(u)
41ae6089 334PERL_CALLCONV U8* Perl_bytes_from_utf8(pTHX_ const U8 *s, STRLEN *lenp, bool *is_utf8p);
e8a67806 335#define PERL_ARGS_ASSERT_BYTES_FROM_UTF8 \
41ae6089 336 assert(s); assert(lenp); assert(is_utf8p)
976c1b08
KW
337PERL_CALLCONV U8* Perl_bytes_from_utf8_loc(const U8 *s, STRLEN *lenp, bool *is_utf8p, const U8 ** first_unconverted);
338#define PERL_ARGS_ASSERT_BYTES_FROM_UTF8_LOC \
339 assert(s); assert(lenp); assert(is_utf8p)
09af0336 340PERL_CALLCONV U8* Perl_bytes_to_utf8(pTHX_ const U8 *s, STRLEN *lenp);
e8a67806 341#define PERL_ARGS_ASSERT_BYTES_TO_UTF8 \
09af0336 342 assert(s); assert(lenp)
6ba07ce1 343PERL_CALLCONV I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv);
e8a67806
NC
344#define PERL_ARGS_ASSERT_CALL_ARGV \
345 assert(sub_name); assert(argv)
e8a67806 346PERL_CALLCONV void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr);
2015d234 347#define PERL_ARGS_ASSERT_CALL_ATEXIT
6ba07ce1 348PERL_CALLCONV void Perl_call_list(pTHX_ I32 oldscope, AV *paramList);
7918f24d
NC
349#define PERL_ARGS_ASSERT_CALL_LIST \
350 assert(paramList)
6ba07ce1 351PERL_CALLCONV I32 Perl_call_method(pTHX_ const char* methname, I32 flags);
e8a67806
NC
352#define PERL_ARGS_ASSERT_CALL_METHOD \
353 assert(methname)
6ba07ce1 354PERL_CALLCONV I32 Perl_call_pv(pTHX_ const char* sub_name, I32 flags);
e8a67806
NC
355#define PERL_ARGS_ASSERT_CALL_PV \
356 assert(sub_name)
8162b70e 357PERL_CALLCONV I32 Perl_call_sv(pTHX_ SV* sv, volatile I32 flags);
e8a67806
NC
358#define PERL_ARGS_ASSERT_CALL_SV \
359 assert(sv)
2fefa6c7 360PERL_CALLCONV const PERL_CONTEXT * Perl_caller_cx(pTHX_ I32 level, const PERL_CONTEXT **dbcxp);
2015d234 361#define PERL_ARGS_ASSERT_CALLER_CX
e8a67806
NC
362PERL_CALLCONV Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size)
363 __attribute__malloc__
364 __attribute__warn_unused_result__;
2015d234 365#define PERL_ARGS_ASSERT_CALLOC
e8a67806 366
ae1951c1 367PERL_CALLCONV bool Perl_cando(pTHX_ Mode_t mode, bool effective, const Stat_t* statbufp)
6ba07ce1 368 __attribute__warn_unused_result__;
7918f24d
NC
369#define PERL_ARGS_ASSERT_CANDO \
370 assert(statbufp)
f54cb97a 371
ddeaf645 372PERL_CALLCONV I32 Perl_cast_i32(NV f)
53c1dcc0 373 __attribute__warn_unused_result__;
2015d234 374#define PERL_ARGS_ASSERT_CAST_I32
53c1dcc0 375
ddeaf645 376PERL_CALLCONV IV Perl_cast_iv(NV f)
53c1dcc0 377 __attribute__warn_unused_result__;
2015d234 378#define PERL_ARGS_ASSERT_CAST_IV
53c1dcc0 379
ddeaf645 380PERL_CALLCONV U32 Perl_cast_ulong(NV f)
53c1dcc0 381 __attribute__warn_unused_result__;
2015d234 382#define PERL_ARGS_ASSERT_CAST_ULONG
53c1dcc0 383
ddeaf645 384PERL_CALLCONV UV Perl_cast_uv(NV f)
53c1dcc0 385 __attribute__warn_unused_result__;
2015d234 386#define PERL_ARGS_ASSERT_CAST_UV
53c1dcc0 387
6ba07ce1 388PERL_CALLCONV bool Perl_check_utf8_print(pTHX_ const U8 *s, const STRLEN len);
0876b9a0
KW
389#define PERL_ARGS_ASSERT_CHECK_UTF8_PRINT \
390 assert(s)
e8a67806 391PERL_CALLCONV OP * Perl_ck_anoncode(pTHX_ OP *o)
6ba07ce1 392 __attribute__warn_unused_result__;
e8a67806
NC
393#define PERL_ARGS_ASSERT_CK_ANONCODE \
394 assert(o)
2fefa6c7 395
9ce1fb7d 396PERL_CALLCONV OP * Perl_ck_backtick(pTHX_ OP *o)
6ba07ce1 397 __attribute__warn_unused_result__;
9ce1fb7d
FC
398#define PERL_ARGS_ASSERT_CK_BACKTICK \
399 assert(o)
400
e8a67806 401PERL_CALLCONV OP * Perl_ck_bitop(pTHX_ OP *o)
6ba07ce1 402 __attribute__warn_unused_result__;
e8a67806
NC
403#define PERL_ARGS_ASSERT_CK_BITOP \
404 assert(o)
2fefa6c7 405
89474f50 406PERL_CALLCONV OP * Perl_ck_cmp(pTHX_ OP *o)
6ba07ce1 407 __attribute__warn_unused_result__;
89474f50
FC
408#define PERL_ARGS_ASSERT_CK_CMP \
409 assert(o)
410
e8a67806 411PERL_CALLCONV OP * Perl_ck_concat(pTHX_ OP *o)
6ba07ce1 412 __attribute__warn_unused_result__;
e8a67806
NC
413#define PERL_ARGS_ASSERT_CK_CONCAT \
414 assert(o)
9dcc53ea 415
e8a67806 416PERL_CALLCONV OP * Perl_ck_defined(pTHX_ OP *o)
6ba07ce1 417 __attribute__warn_unused_result__;
e8a67806
NC
418#define PERL_ARGS_ASSERT_CK_DEFINED \
419 assert(o)
f54cb97a 420
e8a67806 421PERL_CALLCONV OP * Perl_ck_delete(pTHX_ OP *o)
6ba07ce1 422 __attribute__warn_unused_result__;
e8a67806
NC
423#define PERL_ARGS_ASSERT_CK_DELETE \
424 assert(o)
f54cb97a 425
e8a67806 426PERL_CALLCONV OP * Perl_ck_each(pTHX_ OP *o)
6ba07ce1 427 __attribute__warn_unused_result__;
e8a67806
NC
428#define PERL_ARGS_ASSERT_CK_EACH \
429 assert(o)
f54cb97a 430
6ba07ce1 431PERL_CALLCONV OP* Perl_ck_entersub_args_core(pTHX_ OP *entersubop, GV *namegv, SV *protosv);
4aaa4757
FC
432#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_CORE \
433 assert(entersubop); assert(namegv); assert(protosv)
6ba07ce1 434PERL_CALLCONV OP* Perl_ck_entersub_args_list(pTHX_ OP *entersubop);
d9088386
Z
435#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_LIST \
436 assert(entersubop)
6ba07ce1 437PERL_CALLCONV OP* Perl_ck_entersub_args_proto(pTHX_ OP *entersubop, GV *namegv, SV *protosv);
d9088386
Z
438#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_PROTO \
439 assert(entersubop); assert(namegv); assert(protosv)
6ba07ce1 440PERL_CALLCONV OP* Perl_ck_entersub_args_proto_or_list(pTHX_ OP *entersubop, GV *namegv, SV *protosv);
d9088386
Z
441#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_PROTO_OR_LIST \
442 assert(entersubop); assert(namegv); assert(protosv)
e8a67806 443PERL_CALLCONV OP * Perl_ck_eof(pTHX_ OP *o)
6ba07ce1 444 __attribute__warn_unused_result__;
e8a67806
NC
445#define PERL_ARGS_ASSERT_CK_EOF \
446 assert(o)
cbf82dd0 447
e8a67806 448PERL_CALLCONV OP * Perl_ck_eval(pTHX_ OP *o)
6ba07ce1 449 __attribute__warn_unused_result__;
e8a67806
NC
450#define PERL_ARGS_ASSERT_CK_EVAL \
451 assert(o)
f54cb97a 452
e8a67806 453PERL_CALLCONV OP * Perl_ck_exec(pTHX_ OP *o)
6ba07ce1 454 __attribute__warn_unused_result__;
e8a67806
NC
455#define PERL_ARGS_ASSERT_CK_EXEC \
456 assert(o)
62d55b22 457
e8a67806 458PERL_CALLCONV OP * Perl_ck_exists(pTHX_ OP *o)
6ba07ce1 459 __attribute__warn_unused_result__;
e8a67806
NC
460#define PERL_ARGS_ASSERT_CK_EXISTS \
461 assert(o)
255164ba 462
e8a67806 463PERL_CALLCONV OP * Perl_ck_ftst(pTHX_ OP *o)
6ba07ce1 464 __attribute__warn_unused_result__;
e8a67806
NC
465#define PERL_ARGS_ASSERT_CK_FTST \
466 assert(o)
255164ba 467
e8a67806 468PERL_CALLCONV OP * Perl_ck_fun(pTHX_ OP *o)
6ba07ce1 469 __attribute__warn_unused_result__;
e8a67806
NC
470#define PERL_ARGS_ASSERT_CK_FUN \
471 assert(o)
255164ba 472
e8a67806 473PERL_CALLCONV OP * Perl_ck_glob(pTHX_ OP *o)
6ba07ce1 474 __attribute__warn_unused_result__;
e8a67806
NC
475#define PERL_ARGS_ASSERT_CK_GLOB \
476 assert(o)
255164ba 477
e8a67806 478PERL_CALLCONV OP * Perl_ck_grep(pTHX_ OP *o)
6ba07ce1 479 __attribute__warn_unused_result__;
e8a67806
NC
480#define PERL_ARGS_ASSERT_CK_GREP \
481 assert(o)
255164ba 482
e8a67806 483PERL_CALLCONV OP * Perl_ck_index(pTHX_ OP *o)
6ba07ce1 484 __attribute__warn_unused_result__;
e8a67806
NC
485#define PERL_ARGS_ASSERT_CK_INDEX \
486 assert(o)
f54cb97a 487
e8a67806 488PERL_CALLCONV OP * Perl_ck_join(pTHX_ OP *o)
6ba07ce1 489 __attribute__warn_unused_result__;
e8a67806
NC
490#define PERL_ARGS_ASSERT_CK_JOIN \
491 assert(o)
f54cb97a 492
e508c8a4 493PERL_CALLCONV OP * Perl_ck_length(pTHX_ OP *o)
6ba07ce1 494 __attribute__warn_unused_result__;
e508c8a4
MH
495#define PERL_ARGS_ASSERT_CK_LENGTH \
496 assert(o)
497
e8a67806 498PERL_CALLCONV OP * Perl_ck_lfun(pTHX_ OP *o)
6ba07ce1 499 __attribute__warn_unused_result__;
e8a67806
NC
500#define PERL_ARGS_ASSERT_CK_LFUN \
501 assert(o)
f54cb97a 502
e8a67806 503PERL_CALLCONV OP * Perl_ck_listiob(pTHX_ OP *o)
6ba07ce1 504 __attribute__warn_unused_result__;
e8a67806
NC
505#define PERL_ARGS_ASSERT_CK_LISTIOB \
506 assert(o)
f54cb97a 507
e8a67806 508PERL_CALLCONV OP * Perl_ck_match(pTHX_ OP *o)
6ba07ce1 509 __attribute__warn_unused_result__;
e8a67806
NC
510#define PERL_ARGS_ASSERT_CK_MATCH \
511 assert(o)
f54cb97a 512
e8a67806 513PERL_CALLCONV OP * Perl_ck_method(pTHX_ OP *o)
6ba07ce1 514 __attribute__warn_unused_result__;
e8a67806
NC
515#define PERL_ARGS_ASSERT_CK_METHOD \
516 assert(o)
a3b680e6 517
e8a67806 518PERL_CALLCONV OP * Perl_ck_null(pTHX_ OP *o)
6ba07ce1 519 __attribute__warn_unused_result__;
e8a67806
NC
520#define PERL_ARGS_ASSERT_CK_NULL \
521 assert(o)
255164ba 522
e8a67806 523PERL_CALLCONV OP * Perl_ck_open(pTHX_ OP *o)
6ba07ce1 524 __attribute__warn_unused_result__;
e8a67806
NC
525#define PERL_ARGS_ASSERT_CK_OPEN \
526 assert(o)
f54cb97a 527
eb4ec35b 528PERL_CALLCONV OP * Perl_ck_prototype(pTHX_ OP *o)
6ba07ce1 529 __attribute__warn_unused_result__;
eb4ec35b
FC
530#define PERL_ARGS_ASSERT_CK_PROTOTYPE \
531 assert(o)
532
e8a67806 533PERL_CALLCONV OP * Perl_ck_readline(pTHX_ OP *o)
6ba07ce1 534 __attribute__warn_unused_result__;
e8a67806 535#define PERL_ARGS_ASSERT_CK_READLINE \
7918f24d 536 assert(o)
f54cb97a 537
4fec8804 538PERL_CALLCONV OP * Perl_ck_refassign(pTHX_ OP *o)
6ba07ce1 539 __attribute__warn_unused_result__;
4fec8804
FC
540#define PERL_ARGS_ASSERT_CK_REFASSIGN \
541 assert(o)
542
e8a67806 543PERL_CALLCONV OP * Perl_ck_repeat(pTHX_ OP *o)
6ba07ce1 544 __attribute__warn_unused_result__;
e8a67806
NC
545#define PERL_ARGS_ASSERT_CK_REPEAT \
546 assert(o)
547
548PERL_CALLCONV OP * Perl_ck_require(pTHX_ OP *o)
6ba07ce1 549 __attribute__warn_unused_result__;
e8a67806
NC
550#define PERL_ARGS_ASSERT_CK_REQUIRE \
551 assert(o)
552
553PERL_CALLCONV OP * Perl_ck_return(pTHX_ OP *o)
6ba07ce1 554 __attribute__warn_unused_result__;
e8a67806
NC
555#define PERL_ARGS_ASSERT_CK_RETURN \
556 assert(o)
557
558PERL_CALLCONV OP * Perl_ck_rfun(pTHX_ OP *o)
6ba07ce1 559 __attribute__warn_unused_result__;
e8a67806
NC
560#define PERL_ARGS_ASSERT_CK_RFUN \
561 assert(o)
562
563PERL_CALLCONV OP * Perl_ck_rvconst(pTHX_ OP *o)
6ba07ce1 564 __attribute__warn_unused_result__;
e8a67806
NC
565#define PERL_ARGS_ASSERT_CK_RVCONST \
566 assert(o)
567
568PERL_CALLCONV OP * Perl_ck_sassign(pTHX_ OP *o)
6ba07ce1 569 __attribute__warn_unused_result__;
e8a67806
NC
570#define PERL_ARGS_ASSERT_CK_SASSIGN \
571 assert(o)
572
573PERL_CALLCONV OP * Perl_ck_select(pTHX_ OP *o)
6ba07ce1 574 __attribute__warn_unused_result__;
e8a67806
NC
575#define PERL_ARGS_ASSERT_CK_SELECT \
576 assert(o)
577
578PERL_CALLCONV OP * Perl_ck_shift(pTHX_ OP *o)
6ba07ce1 579 __attribute__warn_unused_result__;
e8a67806
NC
580#define PERL_ARGS_ASSERT_CK_SHIFT \
581 assert(o)
582
7896dde7
Z
583PERL_CALLCONV OP * Perl_ck_smartmatch(pTHX_ OP *o)
584 __attribute__warn_unused_result__;
585#define PERL_ARGS_ASSERT_CK_SMARTMATCH \
586 assert(o)
587
e8a67806 588PERL_CALLCONV OP * Perl_ck_sort(pTHX_ OP *o)
6ba07ce1 589 __attribute__warn_unused_result__;
e8a67806
NC
590#define PERL_ARGS_ASSERT_CK_SORT \
591 assert(o)
592
593PERL_CALLCONV OP * Perl_ck_spair(pTHX_ OP *o)
6ba07ce1 594 __attribute__warn_unused_result__;
e8a67806
NC
595#define PERL_ARGS_ASSERT_CK_SPAIR \
596 assert(o)
597
598PERL_CALLCONV OP * Perl_ck_split(pTHX_ OP *o)
6ba07ce1 599 __attribute__warn_unused_result__;
e8a67806
NC
600#define PERL_ARGS_ASSERT_CK_SPLIT \
601 assert(o)
602
73f4c4fe 603PERL_CALLCONV OP * Perl_ck_stringify(pTHX_ OP *o)
6ba07ce1 604 __attribute__warn_unused_result__;
73f4c4fe
FC
605#define PERL_ARGS_ASSERT_CK_STRINGIFY \
606 assert(o)
607
e8a67806 608PERL_CALLCONV OP * Perl_ck_subr(pTHX_ OP *o)
6ba07ce1 609 __attribute__warn_unused_result__;
e8a67806
NC
610#define PERL_ARGS_ASSERT_CK_SUBR \
611 assert(o)
612
613PERL_CALLCONV OP * Perl_ck_substr(pTHX_ OP *o)
6ba07ce1 614 __attribute__warn_unused_result__;
e8a67806
NC
615#define PERL_ARGS_ASSERT_CK_SUBSTR \
616 assert(o)
617
618PERL_CALLCONV OP * Perl_ck_svconst(pTHX_ OP *o)
6ba07ce1 619 __attribute__warn_unused_result__;
e8a67806
NC
620#define PERL_ARGS_ASSERT_CK_SVCONST \
621 assert(o)
622
8dc99089 623PERL_CALLCONV OP * Perl_ck_tell(pTHX_ OP *o)
6ba07ce1 624 __attribute__warn_unused_result__;
8dc99089
FC
625#define PERL_ARGS_ASSERT_CK_TELL \
626 assert(o)
627
e8a67806 628PERL_CALLCONV OP * Perl_ck_trunc(pTHX_ OP *o)
6ba07ce1 629 __attribute__warn_unused_result__;
e8a67806
NC
630#define PERL_ARGS_ASSERT_CK_TRUNC \
631 assert(o)
632
e8a67806 633PERL_CALLCONV void Perl_ck_warner(pTHX_ U32 err, const char* pat, ...)
6ba07ce1 634 __attribute__format__(__printf__,pTHX_2,pTHX_3);
e8a67806
NC
635#define PERL_ARGS_ASSERT_CK_WARNER \
636 assert(pat)
637
638PERL_CALLCONV void Perl_ck_warner_d(pTHX_ U32 err, const char* pat, ...)
6ba07ce1 639 __attribute__format__(__printf__,pTHX_2,pTHX_3);
e8a67806
NC
640#define PERL_ARGS_ASSERT_CK_WARNER_D \
641 assert(pat)
642
ca0c6e8c
KW
643PERL_CALLCONV bool Perl_ckwarn(pTHX_ U32 w)
644 __attribute__warn_unused_result__
645 __attribute__pure__;
2015d234 646#define PERL_ARGS_ASSERT_CKWARN
ca0c6e8c
KW
647
648PERL_CALLCONV bool Perl_ckwarn_d(pTHX_ U32 w)
649 __attribute__warn_unused_result__
650 __attribute__pure__;
2015d234 651#define PERL_ARGS_ASSERT_CKWARN_D
ca0c6e8c 652
6e45d846
DM
653PERL_CALLCONV void Perl_clear_defarray(pTHX_ AV* av, bool abandon);
654#define PERL_ARGS_ASSERT_CLEAR_DEFARRAY \
655 assert(av)
6ba07ce1 656PERL_CALLCONV const COP* Perl_closest_cop(pTHX_ const COP *cop, const OP *o, const OP *curop, bool opnext);
25502127
FC
657#define PERL_ARGS_ASSERT_CLOSEST_COP \
658 assert(cop)
6ba07ce1 659PERL_CALLCONV const char * Perl_cop_fetch_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags);
aebc0cbe
FC
660#define PERL_ARGS_ASSERT_COP_FETCH_LABEL \
661 assert(cop)
6ba07ce1 662PERL_CALLCONV void Perl_cop_store_label(pTHX_ COP *const cop, const char *label, STRLEN len, U32 flags);
aebc0cbe
FC
663#define PERL_ARGS_ASSERT_COP_STORE_LABEL \
664 assert(cop); assert(label)
6ba07ce1 665PERL_CALLCONV SV * Perl_core_prototype(pTHX_ SV *sv, const char *name, const int code, int * const opnum);
b8c38f0a
FC
666#define PERL_ARGS_ASSERT_CORE_PROTOTYPE \
667 assert(name)
6ba07ce1 668PERL_CALLCONV OP * Perl_coresub_op(pTHX_ SV *const coreargssv, const int code, const int opnum);
1e4b6aa1
FC
669#define PERL_ARGS_ASSERT_CORESUB_OP \
670 assert(coreargssv)
274ed8ae 671PERL_CALLCONV void Perl_create_eval_scope(pTHX_ OP *retop, U32 flags);
2015d234 672#define PERL_ARGS_ASSERT_CREATE_EVAL_SCOPE
12a2785c 673PERL_CALLCONV_NO_RET void Perl_croak(pTHX_ const char* pat, ...)
e8a67806
NC
674 __attribute__noreturn__
675 __attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2);
2015d234 676#define PERL_ARGS_ASSERT_CROAK
e8a67806 677
4fa06845
DM
678PERL_CALLCONV_NO_RET void Perl_croak_caller(const char* pat, ...)
679 __attribute__noreturn__
680 __attribute__format__null_ok__(__printf__,1,2);
2015d234 681#define PERL_ARGS_ASSERT_CROAK_CALLER
4fa06845 682
c9182d9c 683PERL_STATIC_INLINE_NO_RET void Perl_croak_memory_wrap(void)
d1decf2b 684 __attribute__noreturn__;
2015d234 685#define PERL_ARGS_ASSERT_CROAK_MEMORY_WRAP
d1decf2b 686
4cbe3a7d
DD
687PERL_CALLCONV_NO_RET void Perl_croak_no_mem(void)
688 __attribute__noreturn__;
2015d234 689#define PERL_ARGS_ASSERT_CROAK_NO_MEM
4cbe3a7d 690
cb077ed2 691PERL_CALLCONV_NO_RET void Perl_croak_no_modify(void)
e8a67806 692 __attribute__noreturn__;
2015d234 693#define PERL_ARGS_ASSERT_CROAK_NO_MODIFY
e8a67806 694
3d04513d
DD
695PERL_CALLCONV_NO_RET void Perl_croak_popstack(void)
696 __attribute__noreturn__;
2015d234 697#define PERL_ARGS_ASSERT_CROAK_POPSTACK
3d04513d 698
12a2785c 699PERL_CALLCONV_NO_RET void Perl_croak_sv(pTHX_ SV *baseex)
6ba07ce1 700 __attribute__noreturn__;
e8a67806
NC
701#define PERL_ARGS_ASSERT_CROAK_SV \
702 assert(baseex)
703
cb077ed2 704PERL_CALLCONV_NO_RET void Perl_croak_xs_usage(const CV *const cv, const char *const params)
6ba07ce1 705 __attribute__noreturn__;
e8a67806
NC
706#define PERL_ARGS_ASSERT_CROAK_XS_USAGE \
707 assert(cv); assert(params)
708
3c13cae6 709PERL_CALLCONV regexp_engine const * Perl_current_re_engine(pTHX);
2015d234 710#define PERL_ARGS_ASSERT_CURRENT_RE_ENGINE
1545ba5b 711#ifndef NO_MATHOMS
e8a67806 712PERL_CALLCONV const char * Perl_custom_op_desc(pTHX_ const OP *o)
57f51a64 713 __attribute__deprecated__
6ba07ce1 714 __attribute__warn_unused_result__;
e8a67806
NC
715#define PERL_ARGS_ASSERT_CUSTOM_OP_DESC \
716 assert(o)
1545ba5b 717#endif
e8a67806 718
ae103e09 719PERL_CALLCONV XOPRETANY Perl_custom_op_get_field(pTHX_ const OP *o, const xop_flags_enum field)
6ba07ce1 720 __attribute__warn_unused_result__;
ae103e09
DD
721#define PERL_ARGS_ASSERT_CUSTOM_OP_GET_FIELD \
722 assert(o)
723
1545ba5b 724#ifndef NO_MATHOMS
e8a67806 725PERL_CALLCONV const char * Perl_custom_op_name(pTHX_ const OP *o)
57f51a64 726 __attribute__deprecated__
6ba07ce1 727 __attribute__warn_unused_result__;
e8a67806
NC
728#define PERL_ARGS_ASSERT_CUSTOM_OP_NAME \
729 assert(o)
1545ba5b 730#endif
e8a67806 731
6ba07ce1 732PERL_CALLCONV void Perl_custom_op_register(pTHX_ Perl_ppaddr_t ppaddr, const XOP *xop);
1830b3d9
BM
733#define PERL_ARGS_ASSERT_CUSTOM_OP_REGISTER \
734 assert(ppaddr); assert(xop)
d722d2af 735/* PERL_CALLCONV const XOP * Perl_custom_op_xop(pTHX_ const OP *o); */
2015d234 736#define PERL_ARGS_ASSERT_CUSTOM_OP_XOP
6ba07ce1 737PERL_CALLCONV void Perl_cv_ckproto_len_flags(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len, const U32 flags);
dab1c735
BF
738#define PERL_ARGS_ASSERT_CV_CKPROTO_LEN_FLAGS \
739 assert(cv)
6ba07ce1 740PERL_CALLCONV CV* Perl_cv_clone(pTHX_ CV* proto);
e8a67806
NC
741#define PERL_ARGS_ASSERT_CV_CLONE \
742 assert(proto)
6ba07ce1 743PERL_CALLCONV CV* Perl_cv_clone_into(pTHX_ CV* proto, CV *target);
6d5c2147
FC
744#define PERL_ARGS_ASSERT_CV_CLONE_INTO \
745 assert(proto); assert(target)
ddeaf645 746PERL_CALLCONV SV* Perl_cv_const_sv(const CV *const cv)
e8a67806 747 __attribute__warn_unused_result__;
2015d234 748#define PERL_ARGS_ASSERT_CV_CONST_SV
e8a67806 749
ddeaf645 750PERL_CALLCONV SV* Perl_cv_const_sv_or_av(const CV *const cv)
f815dc14 751 __attribute__warn_unused_result__;
2015d234 752#define PERL_ARGS_ASSERT_CV_CONST_SV_OR_AV
f815dc14 753
de0885da 754PERL_CALLCONV void Perl_cv_forget_slab(pTHX_ CV *cv);
2015d234 755#define PERL_ARGS_ASSERT_CV_FORGET_SLAB
6ba07ce1 756PERL_CALLCONV void Perl_cv_get_call_checker(pTHX_ CV *cv, Perl_call_checker *ckfun_p, SV **ckobj_p);
d9088386
Z
757#define PERL_ARGS_ASSERT_CV_GET_CALL_CHECKER \
758 assert(cv); assert(ckfun_p); assert(ckobj_p)
71c697de
Z
759PERL_CALLCONV void Perl_cv_get_call_checker_flags(pTHX_ CV *cv, U32 gflags, Perl_call_checker *ckfun_p, SV **ckobj_p, U32 *ckflags_p);
760#define PERL_ARGS_ASSERT_CV_GET_CALL_CHECKER_FLAGS \
761 assert(cv); assert(ckfun_p); assert(ckobj_p); assert(ckflags_p)
6ba07ce1 762PERL_CALLCONV SV * Perl_cv_name(pTHX_ CV *cv, SV *sv, U32 flags);
c5569a55
FC
763#define PERL_ARGS_ASSERT_CV_NAME \
764 assert(cv)
6ba07ce1 765PERL_CALLCONV void Perl_cv_set_call_checker(pTHX_ CV *cv, Perl_call_checker ckfun, SV *ckobj);
d9088386
Z
766#define PERL_ARGS_ASSERT_CV_SET_CALL_CHECKER \
767 assert(cv); assert(ckfun); assert(ckobj)
71c697de 768PERL_CALLCONV void Perl_cv_set_call_checker_flags(pTHX_ CV *cv, Perl_call_checker ckfun, SV *ckobj, U32 ckflags);
aa38f4b1
FC
769#define PERL_ARGS_ASSERT_CV_SET_CALL_CHECKER_FLAGS \
770 assert(cv); assert(ckfun); assert(ckobj)
6ba07ce1 771PERL_CALLCONV void Perl_cv_undef(pTHX_ CV* cv);
e8a67806
NC
772#define PERL_ARGS_ASSERT_CV_UNDEF \
773 assert(cv)
6ba07ce1 774PERL_CALLCONV void Perl_cv_undef_flags(pTHX_ CV* cv, U32 flags);
b7acb0a3
FC
775#define PERL_ARGS_ASSERT_CV_UNDEF_FLAGS \
776 assert(cv)
6ba07ce1 777PERL_CALLCONV GV * Perl_cvgv_from_hek(pTHX_ CV* cv);
ae77754a
FC
778#define PERL_ARGS_ASSERT_CVGV_FROM_HEK \
779 assert(cv)
6ba07ce1 780PERL_CALLCONV void Perl_cvgv_set(pTHX_ CV* cv, GV* gv);
e8a67806
NC
781#define PERL_ARGS_ASSERT_CVGV_SET \
782 assert(cv)
6ba07ce1 783PERL_CALLCONV void Perl_cvstash_set(pTHX_ CV* cv, HV* stash);
c68d9564
Z
784#define PERL_ARGS_ASSERT_CVSTASH_SET \
785 assert(cv)
6ba07ce1 786PERL_CALLCONV void Perl_cx_dump(pTHX_ PERL_CONTEXT* cx);
e8a67806
NC
787#define PERL_ARGS_ASSERT_CX_DUMP \
788 assert(cx)
e8a67806
NC
789PERL_CALLCONV I32 Perl_cxinc(pTHX)
790 __attribute__warn_unused_result__;
2015d234 791#define PERL_ARGS_ASSERT_CXINC
e8a67806
NC
792
793PERL_CALLCONV void Perl_deb(pTHX_ const char* pat, ...)
6ba07ce1 794 __attribute__format__(__printf__,pTHX_1,pTHX_2);
e8a67806
NC
795#define PERL_ARGS_ASSERT_DEB \
796 assert(pat)
797
798PERL_CALLCONV void Perl_deb_stack_all(pTHX);
2015d234 799#define PERL_ARGS_ASSERT_DEB_STACK_ALL
6ba07ce1 800PERL_CALLCONV I32 Perl_debop(pTHX_ const OP* o);
e8a67806
NC
801#define PERL_ARGS_ASSERT_DEBOP \
802 assert(o)
e8a67806 803PERL_CALLCONV void Perl_debprofdump(pTHX);
2015d234 804#define PERL_ARGS_ASSERT_DEBPROFDUMP
e8a67806 805PERL_CALLCONV I32 Perl_debstack(pTHX);
2015d234 806#define PERL_ARGS_ASSERT_DEBSTACK
e8a67806 807PERL_CALLCONV I32 Perl_debstackptrs(pTHX);
2015d234 808#define PERL_ARGS_ASSERT_DEBSTACKPTRS
13733cde 809PERL_CALLCONV SV * Perl_defelem_target(pTHX_ SV *sv, MAGIC *mg)
6ba07ce1 810 __attribute__warn_unused_result__;
13733cde
FC
811#define PERL_ARGS_ASSERT_DEFELEM_TARGET \
812 assert(sv)
813
e8a67806 814PERL_CALLCONV void Perl_delete_eval_scope(pTHX);
2015d234 815#define PERL_ARGS_ASSERT_DELETE_EVAL_SCOPE
6ba07ce1 816PERL_CALLCONV char* Perl_delimcpy(char* to, const char* toend, const char* from, const char* fromend, int delim, I32* retlen);
7918f24d
NC
817#define PERL_ARGS_ASSERT_DELIMCPY \
818 assert(to); assert(toend); assert(from); assert(fromend); assert(retlen)
ba0a4150
FC
819PERL_CALLCONV char* Perl_delimcpy_no_escape(char* to, const char* toend, const char* from, const char* fromend, int delim, I32* retlen);
820#define PERL_ARGS_ASSERT_DELIMCPY_NO_ESCAPE \
821 assert(to); assert(toend); assert(from); assert(fromend); assert(retlen)
e8a67806 822PERL_CALLCONV void Perl_despatch_signals(pTHX);
2015d234 823#define PERL_ARGS_ASSERT_DESPATCH_SIGNALS
f8d5a522
DD
824PERL_CALLCONV_NO_RET OP* Perl_die(pTHX_ const char* pat, ...)
825 __attribute__noreturn__
826 __attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2);
2015d234 827#define PERL_ARGS_ASSERT_DIE
f8d5a522
DD
828
829PERL_CALLCONV_NO_RET OP* Perl_die_sv(pTHX_ SV *baseex)
6ba07ce1 830 __attribute__noreturn__;
f8d5a522
DD
831#define PERL_ARGS_ASSERT_DIE_SV \
832 assert(baseex)
833
12a2785c 834PERL_CALLCONV_NO_RET void Perl_die_unwind(pTHX_ SV* msv)
6ba07ce1 835 __attribute__noreturn__;
c5df3096 836#define PERL_ARGS_ASSERT_DIE_UNWIND \
62705b21 837 assert(msv)
bb4c52e0 838
3f1866a8
KW
839#ifndef NO_MATHOMS
840PERL_CALLCONV bool Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp);
7918f24d
NC
841#define PERL_ARGS_ASSERT_DO_AEXEC \
842 assert(mark); assert(sp)
3f1866a8 843#endif
738ab09f 844PERL_CALLCONV bool Perl_do_aexec5(pTHX_ SV* really, SV** mark, SV** sp, int fd, int do_report);
7918f24d
NC
845#define PERL_ARGS_ASSERT_DO_AEXEC5 \
846 assert(mark); assert(sp)
1545ba5b 847#ifndef NO_MATHOMS
57f51a64
KW
848PERL_CALLCONV int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode)
849 __attribute__deprecated__;
7918f24d
NC
850#define PERL_ARGS_ASSERT_DO_BINMODE \
851 assert(fp)
1545ba5b 852#endif
57f51a64 853
063df69c 854PERL_CALLCONV bool Perl_do_close(pTHX_ GV* gv, bool not_implicit);
2015d234 855#define PERL_ARGS_ASSERT_DO_CLOSE
6ba07ce1 856PERL_CALLCONV void Perl_do_dump_pad(pTHX_ I32 level, PerlIO *file, PADLIST *padlist, int full);
e8a67806
NC
857#define PERL_ARGS_ASSERT_DO_DUMP_PAD \
858 assert(file)
6ba07ce1 859PERL_CALLCONV bool Perl_do_eof(pTHX_ GV* gv);
7918f24d
NC
860#define PERL_ARGS_ASSERT_DO_EOF \
861 assert(gv)
6ba07ce1 862PERL_CALLCONV void Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv);
e8a67806
NC
863#define PERL_ARGS_ASSERT_DO_GV_DUMP \
864 assert(file); assert(name)
6ba07ce1 865PERL_CALLCONV void Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv);
e8a67806
NC
866#define PERL_ARGS_ASSERT_DO_GVGV_DUMP \
867 assert(file); assert(name)
6ba07ce1 868PERL_CALLCONV void Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, const char *name, HV *sv);
e8a67806
NC
869#define PERL_ARGS_ASSERT_DO_HV_DUMP \
870 assert(file); assert(name)
6ba07ce1 871PERL_CALLCONV void Perl_do_join(pTHX_ SV *sv, SV *delim, SV **mark, SV **sp);
7918f24d
NC
872#define PERL_ARGS_ASSERT_DO_JOIN \
873 assert(sv); assert(delim); assert(mark); assert(sp)
6ba07ce1 874PERL_CALLCONV void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, const MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
e8a67806 875#define PERL_ARGS_ASSERT_DO_MAGIC_DUMP \
3dc78631 876 assert(file)
33efebe6 877PERL_CALLCONV I32 Perl_do_ncmp(pTHX_ SV *const left, SV *const right)
6ba07ce1 878 __attribute__warn_unused_result__;
33efebe6
DM
879#define PERL_ARGS_ASSERT_DO_NCMP \
880 assert(left); assert(right)
881
6ba07ce1 882PERL_CALLCONV void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o);
e8a67806
NC
883#define PERL_ARGS_ASSERT_DO_OP_DUMP \
884 assert(file)
3f1866a8
KW
885#ifndef NO_MATHOMS
886PERL_CALLCONV bool Perl_do_open(pTHX_ GV* gv, const char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp);
7918f24d
NC
887#define PERL_ARGS_ASSERT_DO_OPEN \
888 assert(gv); assert(name)
3f1866a8 889#endif
6ba07ce1 890PERL_CALLCONV bool Perl_do_open6(pTHX_ GV *gv, const char *oname, STRLEN len, PerlIO *supplied_fp, SV **svp, U32 num);
4b451737
NC
891#define PERL_ARGS_ASSERT_DO_OPEN6 \
892 assert(gv); assert(oname)
1545ba5b 893#ifndef NO_MATHOMS
57f51a64
KW
894PERL_CALLCONV bool Perl_do_open9(pTHX_ GV *gv, const char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num)
895 __attribute__deprecated__;
7918f24d
NC
896#define PERL_ARGS_ASSERT_DO_OPEN9 \
897 assert(gv); assert(name); assert(svs)
1545ba5b 898#endif
57f51a64 899
7e30e49f 900PERL_CALLCONV bool Perl_do_open_raw(pTHX_ GV *gv, const char *oname, STRLEN len, int rawmode, int rawperm, Stat_t *statbufp);
4b451737
NC
901#define PERL_ARGS_ASSERT_DO_OPEN_RAW \
902 assert(gv); assert(oname)
6ba07ce1 903PERL_CALLCONV bool Perl_do_openn(pTHX_ GV *gv, const char *oname, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV **svp, I32 num);
7918f24d
NC
904#define PERL_ARGS_ASSERT_DO_OPENN \
905 assert(gv); assert(oname)
6ba07ce1 906PERL_CALLCONV void Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, const PMOP *pm);
e8a67806
NC
907#define PERL_ARGS_ASSERT_DO_PMOP_DUMP \
908 assert(file)
6ba07ce1 909PERL_CALLCONV bool Perl_do_print(pTHX_ SV* sv, PerlIO* fp);
7918f24d
NC
910#define PERL_ARGS_ASSERT_DO_PRINT \
911 assert(fp)
255164ba
DM
912PERL_CALLCONV OP* Perl_do_readline(pTHX)
913 __attribute__warn_unused_result__;
2015d234 914#define PERL_ARGS_ASSERT_DO_READLINE
255164ba 915
1d7c1841 916PERL_CALLCONV bool Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence);
2015d234 917#define PERL_ARGS_ASSERT_DO_SEEK
03a22d83 918PERL_CALLCONV void Perl_do_sprintf(pTHX_ SV* sv, SSize_t len, SV** sarg);
7918f24d
NC
919#define PERL_ARGS_ASSERT_DO_SPRINTF \
920 assert(sv); assert(sarg)
6ba07ce1 921PERL_CALLCONV void Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
e8a67806
NC
922#define PERL_ARGS_ASSERT_DO_SV_DUMP \
923 assert(file)
6ba07ce1 924PERL_CALLCONV Off_t Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence);
7918f24d
NC
925#define PERL_ARGS_ASSERT_DO_SYSSEEK \
926 assert(gv)
255164ba 927PERL_CALLCONV Off_t Perl_do_tell(pTHX_ GV* gv)
6ba07ce1 928 __attribute__warn_unused_result__;
7918f24d
NC
929#define PERL_ARGS_ASSERT_DO_TELL \
930 assert(gv)
255164ba 931
f0fd0980 932PERL_CALLCONV Size_t Perl_do_trans(pTHX_ SV* sv);
7918f24d
NC
933#define PERL_ARGS_ASSERT_DO_TRANS \
934 assert(sv)
d69c4304 935PERL_CALLCONV UV Perl_do_vecget(pTHX_ SV* sv, STRLEN offset, int size);
7918f24d
NC
936#define PERL_ARGS_ASSERT_DO_VECGET \
937 assert(sv)
6ba07ce1 938PERL_CALLCONV void Perl_do_vecset(pTHX_ SV* sv);
7918f24d
NC
939#define PERL_ARGS_ASSERT_DO_VECSET \
940 assert(sv)
6ba07ce1 941PERL_CALLCONV void Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right);
7918f24d
NC
942#define PERL_ARGS_ASSERT_DO_VOP \
943 assert(sv); assert(left); assert(right)
6ba07ce1 944PERL_CALLCONV OP* Perl_dofile(pTHX_ OP* term, I32 force_builtin);
7918f24d
NC
945#define PERL_ARGS_ASSERT_DOFILE \
946 assert(term)
e8a67806
NC
947PERL_CALLCONV bool Perl_doing_taint(int argc, char** argv, char** env)
948 __attribute__warn_unused_result__;
2015d234 949#define PERL_ARGS_ASSERT_DOING_TAINT
e8a67806 950
6ba07ce1 951PERL_CALLCONV OP * Perl_doref(pTHX_ OP *o, I32 type, bool set_op_ref);
e8a67806
NC
952#define PERL_ARGS_ASSERT_DOREF \
953 assert(o)
e8a67806 954PERL_CALLCONV void Perl_dounwind(pTHX_ I32 cxix);
2015d234 955#define PERL_ARGS_ASSERT_DOUNWIND
1c23e2bd 956PERL_CALLCONV U8 Perl_dowantarray(pTHX)
255164ba 957 __attribute__warn_unused_result__;
2015d234 958#define PERL_ARGS_ASSERT_DOWANTARRAY
255164ba 959
6ba07ce1 960PERL_CALLCONV void Perl_drand48_init_r(perl_drand48_t *random_state, U32 seed);
3be8f094
TC
961#define PERL_ARGS_ASSERT_DRAND48_INIT_R \
962 assert(random_state)
6ba07ce1 963PERL_CALLCONV double Perl_drand48_r(perl_drand48_t *random_state);
3be8f094
TC
964#define PERL_ARGS_ASSERT_DRAND48_R \
965 assert(random_state)
1d7c1841 966PERL_CALLCONV void Perl_dump_all(pTHX);
2015d234 967#define PERL_ARGS_ASSERT_DUMP_ALL
f0e3f042 968PERL_CALLCONV void Perl_dump_all_perl(pTHX_ bool justperl);
2015d234 969#define PERL_ARGS_ASSERT_DUMP_ALL_PERL
1d7c1841 970PERL_CALLCONV void Perl_dump_eval(pTHX);
2015d234 971#define PERL_ARGS_ASSERT_DUMP_EVAL
6ba07ce1 972PERL_CALLCONV void Perl_dump_form(pTHX_ const GV* gv);
7918f24d
NC
973#define PERL_ARGS_ASSERT_DUMP_FORM \
974 assert(gv)
e8a67806 975PERL_CALLCONV void Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
6ba07ce1 976 __attribute__format__(__printf__,pTHX_3,pTHX_4);
e8a67806
NC
977#define PERL_ARGS_ASSERT_DUMP_INDENT \
978 assert(file); assert(pat)
255164ba 979
6ba07ce1 980PERL_CALLCONV void Perl_dump_packsubs(pTHX_ const HV* stash);
7918f24d
NC
981#define PERL_ARGS_ASSERT_DUMP_PACKSUBS \
982 assert(stash)
6ba07ce1 983PERL_CALLCONV void Perl_dump_packsubs_perl(pTHX_ const HV* stash, bool justperl);
f0e3f042
CS
984#define PERL_ARGS_ASSERT_DUMP_PACKSUBS_PERL \
985 assert(stash)
6ba07ce1 986PERL_CALLCONV void Perl_dump_sub(pTHX_ const GV* gv);
7918f24d
NC
987#define PERL_ARGS_ASSERT_DUMP_SUB \
988 assert(gv)
6ba07ce1 989PERL_CALLCONV void Perl_dump_sub_perl(pTHX_ const GV* gv, bool justperl);
f0e3f042
CS
990#define PERL_ARGS_ASSERT_DUMP_SUB_PERL \
991 assert(gv)
6ba07ce1 992PERL_CALLCONV void Perl_dump_vindent(pTHX_ I32 level, PerlIO *file, const char* pat, va_list *args);
e8a67806
NC
993#define PERL_ARGS_ASSERT_DUMP_VINDENT \
994 assert(file); assert(pat)
c1e47bad 995PERL_CALLCONV STRLEN* Perl_dup_warnings(pTHX_ STRLEN* warnings);
2015d234 996#define PERL_ARGS_ASSERT_DUP_WARNINGS
6ba07ce1 997PERL_CALLCONV void Perl_emulate_cop_io(pTHX_ const COP *const c, SV *const sv);
e8a67806
NC
998#define PERL_ARGS_ASSERT_EMULATE_COP_IO \
999 assert(c); assert(sv)
6ba07ce1 1000PERL_CALLCONV SV* Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error);
e8a67806
NC
1001#define PERL_ARGS_ASSERT_EVAL_PV \
1002 assert(p)
6ba07ce1 1003PERL_CALLCONV I32 Perl_eval_sv(pTHX_ SV* sv, I32 flags);
e8a67806
NC
1004#define PERL_ARGS_ASSERT_EVAL_SV \
1005 assert(sv)
6ba07ce1 1006PERL_CALLCONV void Perl_fbm_compile(pTHX_ SV* sv, U32 flags);
7918f24d
NC
1007#define PERL_ARGS_ASSERT_FBM_COMPILE \
1008 assert(sv)
9f6cc744 1009PERL_CALLCONV char* Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlestr, U32 flags)
6ba07ce1 1010 __attribute__warn_unused_result__;
7918f24d
NC
1011#define PERL_ARGS_ASSERT_FBM_INSTR \
1012 assert(big); assert(bigend); assert(littlestr)
255164ba 1013
6ba07ce1 1014PERL_CALLCONV bool Perl_feature_is_enabled(pTHX_ const char *const name, STRLEN namelen);
26ea9e12
NC
1015#define PERL_ARGS_ASSERT_FEATURE_IS_ENABLED \
1016 assert(name)
e8a67806 1017PERL_CALLCONV SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
2015d234 1018#define PERL_ARGS_ASSERT_FILTER_ADD
6ba07ce1 1019PERL_CALLCONV void Perl_filter_del(pTHX_ filter_t funcp);
e8a67806
NC
1020#define PERL_ARGS_ASSERT_FILTER_DEL \
1021 assert(funcp)
e8a67806 1022PERL_CALLCONV I32 Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen)
6ba07ce1 1023 __attribute__warn_unused_result__;
e8a67806
NC
1024#define PERL_ARGS_ASSERT_FILTER_READ \
1025 assert(buf_sv)
1026
6ba07ce1 1027PERL_CALLCONV void Perl_finalize_optree(pTHX_ OP* o);
d164302a
GG
1028#define PERL_ARGS_ASSERT_FINALIZE_OPTREE \
1029 assert(o)
9a5e6f3c 1030PERL_CALLCONV CV * Perl_find_lexical_cv(pTHX_ PADOFFSET off);
2015d234 1031#define PERL_ARGS_ASSERT_FIND_LEXICAL_CV
e8a67806
NC
1032PERL_CALLCONV CV* Perl_find_runcv(pTHX_ U32 *db_seqp)
1033 __attribute__warn_unused_result__;
2015d234 1034#define PERL_ARGS_ASSERT_FIND_RUNCV
e8a67806 1035
db4cf31d 1036PERL_CALLCONV CV* Perl_find_runcv_where(pTHX_ U8 cond, IV arg, U32 *db_seqp)
70794f7b 1037 __attribute__warn_unused_result__;
2015d234 1038#define PERL_ARGS_ASSERT_FIND_RUNCV_WHERE
70794f7b 1039
e8a67806 1040PERL_CALLCONV SV* Perl_find_rundefsv(pTHX);
2015d234 1041#define PERL_ARGS_ASSERT_FIND_RUNDEFSV
e8a67806
NC
1042PERL_CALLCONV PADOFFSET Perl_find_rundefsvoffset(pTHX)
1043 __attribute__deprecated__;
2015d234 1044#define PERL_ARGS_ASSERT_FIND_RUNDEFSVOFFSET
e8a67806 1045
6ba07ce1 1046PERL_CALLCONV char* Perl_find_script(pTHX_ const char *scriptname, bool dosearch, const char *const *const search_ext, I32 flags);
7918f24d
NC
1047#define PERL_ARGS_ASSERT_FIND_SCRIPT \
1048 assert(scriptname)
a5d565cd 1049#ifndef PERL_NO_INLINE_FUNCTIONS
ec2c235b 1050PERL_STATIC_INLINE I32 Perl_foldEQ(const char* a, const char* b, I32 len);
e8a67806
NC
1051#define PERL_ARGS_ASSERT_FOLDEQ \
1052 assert(a); assert(b)
a5d565cd
JH
1053#endif
1054#ifndef PERL_NO_INLINE_FUNCTIONS
ec2c235b 1055PERL_STATIC_INLINE I32 Perl_foldEQ_latin1(const char* a, const char* b, I32 len);
1b9f127b
KW
1056#define PERL_ARGS_ASSERT_FOLDEQ_LATIN1 \
1057 assert(a); assert(b)
a5d565cd
JH
1058#endif
1059#ifndef PERL_NO_INLINE_FUNCTIONS
ec2c235b 1060PERL_STATIC_INLINE I32 Perl_foldEQ_locale(const char* a, const char* b, I32 len);
e8a67806
NC
1061#define PERL_ARGS_ASSERT_FOLDEQ_LOCALE \
1062 assert(a); assert(b)
a5d565cd 1063#endif
6ba07ce1 1064/* PERL_CALLCONV I32 foldEQ_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2); */
2015d234 1065#define PERL_ARGS_ASSERT_FOLDEQ_UTF8
6ba07ce1 1066PERL_CALLCONV I32 Perl_foldEQ_utf8_flags(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2, U32 flags);
eda9cac1 1067#define PERL_ARGS_ASSERT_FOLDEQ_UTF8_FLAGS \
e8a67806 1068 assert(s1); assert(s2)
894356b3 1069PERL_CALLCONV char* Perl_form(pTHX_ const char* pat, ...)
6ba07ce1 1070 __attribute__format__(__printf__,pTHX_1,pTHX_2);
7918f24d
NC
1071#define PERL_ARGS_ASSERT_FORM \
1072 assert(pat)
aec46f14 1073
e8a67806 1074PERL_CALLCONV void Perl_free_tied_hv_pool(pTHX);
2015d234 1075#define PERL_ARGS_ASSERT_FREE_TIED_HV_POOL
e8a67806 1076PERL_CALLCONV void Perl_free_tmps(pTHX);
2015d234 1077#define PERL_ARGS_ASSERT_FREE_TMPS
25c7fb78
KW
1078PERL_CALLCONV SV* Perl_get_and_check_backslash_N_name(pTHX_ const char* s, const char* const e, const bool is_utf8, const char** error_msg)
1079 __attribute__warn_unused_result__;
1080#define PERL_ARGS_ASSERT_GET_AND_CHECK_BACKSLASH_N_NAME \
1081 assert(s); assert(e); assert(error_msg)
1082
6ba07ce1 1083PERL_CALLCONV AV* Perl_get_av(pTHX_ const char *name, I32 flags);
e8a67806
NC
1084#define PERL_ARGS_ASSERT_GET_AV \
1085 assert(name)
e8a67806
NC
1086PERL_CALLCONV void* Perl_get_context(void)
1087 __attribute__warn_unused_result__;
2015d234 1088#define PERL_ARGS_ASSERT_GET_CONTEXT
e8a67806 1089
6ba07ce1 1090PERL_CALLCONV CV* Perl_get_cv(pTHX_ const char* name, I32 flags);
e8a67806
NC
1091#define PERL_ARGS_ASSERT_GET_CV \
1092 assert(name)
6ba07ce1 1093PERL_CALLCONV CV* Perl_get_cvn_flags(pTHX_ const char* name, STRLEN len, I32 flags);
e8a67806
NC
1094#define PERL_ARGS_ASSERT_GET_CVN_FLAGS \
1095 assert(name)
6ba07ce1 1096PERL_CALLCONV void Perl_get_db_sub(pTHX_ SV **svp, CV *cv);
7918f24d
NC
1097#define PERL_ARGS_ASSERT_GET_DB_SUB \
1098 assert(cv)
6ba07ce1 1099PERL_CALLCONV void Perl_get_hash_seed(pTHX_ unsigned char * const seed_buffer);
7dc86639
YO
1100#define PERL_ARGS_ASSERT_GET_HASH_SEED \
1101 assert(seed_buffer)
6ba07ce1 1102PERL_CALLCONV HV* Perl_get_hv(pTHX_ const char *name, I32 flags);
e8a67806
NC
1103#define PERL_ARGS_ASSERT_GET_HV \
1104 assert(name)
e8a67806
NC
1105PERL_CALLCONV const char* Perl_get_no_modify(pTHX)
1106 __attribute__warn_unused_result__
1107 __attribute__pure__;
2015d234 1108#define PERL_ARGS_ASSERT_GET_NO_MODIFY
e8a67806
NC
1109
1110PERL_CALLCONV char** Perl_get_op_descs(pTHX)
1111 __attribute__warn_unused_result__
1112 __attribute__pure__;
2015d234 1113#define PERL_ARGS_ASSERT_GET_OP_DESCS
e8a67806
NC
1114
1115PERL_CALLCONV char** Perl_get_op_names(pTHX)
1116 __attribute__warn_unused_result__
1117 __attribute__pure__;
2015d234 1118#define PERL_ARGS_ASSERT_GET_OP_NAMES
e8a67806
NC
1119
1120PERL_CALLCONV U32* Perl_get_opargs(pTHX)
1121 __attribute__warn_unused_result__
1122 __attribute__pure__;
2015d234 1123#define PERL_ARGS_ASSERT_GET_OPARGS
e8a67806
NC
1124
1125PERL_CALLCONV PPADDR_t* Perl_get_ppaddr(pTHX)
1126 __attribute__warn_unused_result__
1127 __attribute__pure__;
2015d234 1128#define PERL_ARGS_ASSERT_GET_PPADDR
e8a67806
NC
1129
1130PERL_CALLCONV REGEXP * Perl_get_re_arg(pTHX_ SV *sv);
2015d234 1131#define PERL_ARGS_ASSERT_GET_RE_ARG
6ba07ce1 1132PERL_CALLCONV SV* Perl_get_sv(pTHX_ const char *name, I32 flags);
e8a67806
NC
1133#define PERL_ARGS_ASSERT_GET_SV \
1134 assert(name)
e8a67806
NC
1135PERL_CALLCONV MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id)
1136 __attribute__warn_unused_result__;
2015d234 1137#define PERL_ARGS_ASSERT_GET_VTBL
e8a67806 1138
6ba07ce1 1139PERL_CALLCONV int Perl_getcwd_sv(pTHX_ SV* sv);
e8a67806
NC
1140#define PERL_ARGS_ASSERT_GETCWD_SV \
1141 assert(sv)
e8a67806 1142PERL_CALLCONV void Perl_gp_free(pTHX_ GV* gv);
2015d234 1143#define PERL_ARGS_ASSERT_GP_FREE
e8a67806 1144PERL_CALLCONV GP* Perl_gp_ref(pTHX_ GP* gp);
2015d234 1145#define PERL_ARGS_ASSERT_GP_REF
6ba07ce1 1146PERL_CALLCONV bool Perl_grok_atoUV(const char* pv, UV* valptr, const char** endptr);
22ff3130
HS
1147#define PERL_ARGS_ASSERT_GROK_ATOUV \
1148 assert(pv); assert(valptr)
6ba07ce1 1149PERL_CALLCONV UV Perl_grok_bin(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result);
e8a67806
NC
1150#define PERL_ARGS_ASSERT_GROK_BIN \
1151 assert(start); assert(len_p); assert(flags)
6ba07ce1 1152PERL_CALLCONV UV Perl_grok_hex(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result);
e8a67806
NC
1153#define PERL_ARGS_ASSERT_GROK_HEX \
1154 assert(start); assert(len_p); assert(flags)
6ba07ce1 1155PERL_CALLCONV int Perl_grok_infnan(pTHX_ const char** sp, const char *send);
ff4eb398
JH
1156#define PERL_ARGS_ASSERT_GROK_INFNAN \
1157 assert(sp); assert(send)
6ba07ce1 1158PERL_CALLCONV int Perl_grok_number(pTHX_ const char *pv, STRLEN len, UV *valuep);
e8a67806
NC
1159#define PERL_ARGS_ASSERT_GROK_NUMBER \
1160 assert(pv)
6ba07ce1 1161PERL_CALLCONV int Perl_grok_number_flags(pTHX_ const char *pv, STRLEN len, UV *valuep, U32 flags);
3f7602fa
TC
1162#define PERL_ARGS_ASSERT_GROK_NUMBER_FLAGS \
1163 assert(pv)
e8a67806 1164PERL_CALLCONV bool Perl_grok_numeric_radix(pTHX_ const char **sp, const char *send)
6ba07ce1 1165 __attribute__warn_unused_result__;
e8a67806
NC
1166#define PERL_ARGS_ASSERT_GROK_NUMERIC_RADIX \
1167 assert(sp); assert(send)
1168
6ba07ce1 1169PERL_CALLCONV UV Perl_grok_oct(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result);
e8a67806
NC
1170#define PERL_ARGS_ASSERT_GROK_OCT \
1171 assert(start); assert(len_p); assert(flags)
3f1866a8
KW
1172#ifndef NO_MATHOMS
1173PERL_CALLCONV GV* Perl_gv_AVadd(pTHX_ GV *gv);
2015d234 1174#define PERL_ARGS_ASSERT_GV_AVADD
3f1866a8
KW
1175#endif
1176#ifndef NO_MATHOMS
1177PERL_CALLCONV GV* Perl_gv_HVadd(pTHX_ GV *gv);
2015d234 1178#define PERL_ARGS_ASSERT_GV_HVADD
3f1866a8
KW
1179#endif
1180#ifndef NO_MATHOMS
1181PERL_CALLCONV GV* Perl_gv_IOadd(pTHX_ GV* gv);
2015d234 1182#define PERL_ARGS_ASSERT_GV_IOADD
3f1866a8 1183#endif
13c59d41 1184PERL_CALLCONV GV* Perl_gv_add_by_type(pTHX_ GV *gv, svtype type);
2015d234 1185#define PERL_ARGS_ASSERT_GV_ADD_BY_TYPE
aa1e761e 1186/* PERL_CALLCONV GV* gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method)
6ba07ce1 1187 __attribute__warn_unused_result__; */
2015d234 1188#define PERL_ARGS_ASSERT_GV_AUTOLOAD4
aa1e761e 1189
0eeb01b9 1190PERL_CALLCONV GV* Perl_gv_autoload_pv(pTHX_ HV* stash, const char* namepv, U32 flags)
6ba07ce1 1191 __attribute__warn_unused_result__;
0fe84f7c 1192#define PERL_ARGS_ASSERT_GV_AUTOLOAD_PV \
5fba3c91
BF
1193 assert(namepv)
1194
0eeb01b9 1195PERL_CALLCONV GV* Perl_gv_autoload_pvn(pTHX_ HV* stash, const char* name, STRLEN len, U32 flags)
6ba07ce1 1196 __attribute__warn_unused_result__;
0fe84f7c 1197#define PERL_ARGS_ASSERT_GV_AUTOLOAD_PVN \
e8a67806
NC
1198 assert(name)
1199
0eeb01b9 1200PERL_CALLCONV GV* Perl_gv_autoload_sv(pTHX_ HV* stash, SV* namesv, U32 flags)
6ba07ce1 1201 __attribute__warn_unused_result__;
0fe84f7c 1202#define PERL_ARGS_ASSERT_GV_AUTOLOAD_SV \
5fba3c91
BF
1203 assert(namesv)
1204
6ba07ce1 1205PERL_CALLCONV void Perl_gv_check(pTHX_ HV* stash);
e8a67806
NC
1206#define PERL_ARGS_ASSERT_GV_CHECK \
1207 assert(stash)
e8a67806 1208PERL_CALLCONV SV* Perl_gv_const_sv(pTHX_ GV* gv)
6ba07ce1 1209 __attribute__warn_unused_result__;
e8a67806
NC
1210#define PERL_ARGS_ASSERT_GV_CONST_SV \
1211 assert(gv)
1212
3dc78631 1213PERL_CALLCONV void Perl_gv_dump(pTHX_ GV* gv);
2015d234 1214#define PERL_ARGS_ASSERT_GV_DUMP
1545ba5b 1215#ifndef NO_MATHOMS
57f51a64
KW
1216PERL_CALLCONV void Perl_gv_efullname(pTHX_ SV* sv, const GV* gv)
1217 __attribute__deprecated__;
7918f24d
NC
1218#define PERL_ARGS_ASSERT_GV_EFULLNAME \
1219 assert(sv); assert(gv)
1545ba5b 1220#endif
57f51a64 1221
3f1866a8
KW
1222#ifndef NO_MATHOMS
1223PERL_CALLCONV void Perl_gv_efullname3(pTHX_ SV* sv, const GV* gv, const char* prefix);
7918f24d
NC
1224#define PERL_ARGS_ASSERT_GV_EFULLNAME3 \
1225 assert(sv); assert(gv)
3f1866a8 1226#endif
6ba07ce1 1227PERL_CALLCONV void Perl_gv_efullname4(pTHX_ SV* sv, const GV* gv, const char* prefix, bool keepmain);
7918f24d
NC
1228#define PERL_ARGS_ASSERT_GV_EFULLNAME4 \
1229 assert(sv); assert(gv)
6ba07ce1 1230PERL_CALLCONV GV* Perl_gv_fetchfile(pTHX_ const char* name);
7918f24d
NC
1231#define PERL_ARGS_ASSERT_GV_FETCHFILE \
1232 assert(name)
6ba07ce1 1233PERL_CALLCONV GV* Perl_gv_fetchfile_flags(pTHX_ const char *const name, const STRLEN len, const U32 flags);
7918f24d
NC
1234#define PERL_ARGS_ASSERT_GV_FETCHFILE_FLAGS \
1235 assert(name)
6ba07ce1 1236/* PERL_CALLCONV GV* gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level); */
2015d234 1237#define PERL_ARGS_ASSERT_GV_FETCHMETH
6ba07ce1 1238/* PERL_CALLCONV GV* gv_fetchmeth_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level); */
2015d234 1239#define PERL_ARGS_ASSERT_GV_FETCHMETH_AUTOLOAD
6ba07ce1 1240PERL_CALLCONV GV* Perl_gv_fetchmeth_pv(pTHX_ HV* stash, const char* name, I32 level, U32 flags);
d21989ed 1241#define PERL_ARGS_ASSERT_GV_FETCHMETH_PV \
7918f24d 1242 assert(name)
6ba07ce1 1243PERL_CALLCONV GV* Perl_gv_fetchmeth_pv_autoload(pTHX_ HV* stash, const char* name, I32 level, U32 flags);
d21989ed 1244#define PERL_ARGS_ASSERT_GV_FETCHMETH_PV_AUTOLOAD \
7918f24d 1245 assert(name)
6ba07ce1 1246PERL_CALLCONV GV* Perl_gv_fetchmeth_pvn(pTHX_ HV* stash, const char* name, STRLEN len, I32 level, U32 flags);
e6919483
BF
1247#define PERL_ARGS_ASSERT_GV_FETCHMETH_PVN \
1248 assert(name)
6ba07ce1 1249PERL_CALLCONV GV* Perl_gv_fetchmeth_pvn_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level, U32 flags);
d21989ed
BF
1250#define PERL_ARGS_ASSERT_GV_FETCHMETH_PVN_AUTOLOAD \
1251 assert(name)
6ba07ce1 1252PERL_CALLCONV GV* Perl_gv_fetchmeth_sv(pTHX_ HV* stash, SV* namesv, I32 level, U32 flags);
e6919483
BF
1253#define PERL_ARGS_ASSERT_GV_FETCHMETH_SV \
1254 assert(namesv)
6ba07ce1 1255PERL_CALLCONV GV* Perl_gv_fetchmeth_sv_autoload(pTHX_ HV* stash, SV* namesv, I32 level, U32 flags);
d21989ed
BF
1256#define PERL_ARGS_ASSERT_GV_FETCHMETH_SV_AUTOLOAD \
1257 assert(namesv)
3f1866a8
KW
1258#ifndef NO_MATHOMS
1259PERL_CALLCONV GV* Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name);
7918f24d 1260#define PERL_ARGS_ASSERT_GV_FETCHMETHOD \
eff494dd 1261 assert(stash); assert(name)
3f1866a8 1262#endif
6ba07ce1 1263PERL_CALLCONV GV* Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload);
7918f24d 1264#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_AUTOLOAD \
eff494dd 1265 assert(stash); assert(name)
6ba07ce1 1266PERL_CALLCONV GV* Perl_gv_fetchmethod_pv_flags(pTHX_ HV* stash, const char* name, U32 flags);
44130a26 1267#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_PV_FLAGS \
eff494dd 1268 assert(stash); assert(name)
6ba07ce1 1269PERL_CALLCONV GV* Perl_gv_fetchmethod_pvn_flags(pTHX_ HV* stash, const char* name, const STRLEN len, U32 flags);
44130a26
BF
1270#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_PVN_FLAGS \
1271 assert(stash); assert(name)
6ba07ce1 1272PERL_CALLCONV GV* Perl_gv_fetchmethod_sv_flags(pTHX_ HV* stash, SV* namesv, U32 flags);
44130a26
BF
1273#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_SV_FLAGS \
1274 assert(stash); assert(namesv)
6ba07ce1 1275PERL_CALLCONV GV* Perl_gv_fetchpv(pTHX_ const char *nambeg, I32 add, const svtype sv_type);
7918f24d
NC
1276#define PERL_ARGS_ASSERT_GV_FETCHPV \
1277 assert(nambeg)
6ba07ce1 1278PERL_CALLCONV GV* Perl_gv_fetchpvn_flags(pTHX_ const char* name, STRLEN len, I32 flags, const svtype sv_type);
e8a67806
NC
1279#define PERL_ARGS_ASSERT_GV_FETCHPVN_FLAGS \
1280 assert(name)
6ba07ce1 1281PERL_CALLCONV GV* Perl_gv_fetchsv(pTHX_ SV *name, I32 flags, const svtype sv_type);
e8a67806
NC
1282#define PERL_ARGS_ASSERT_GV_FETCHSV \
1283 assert(name)
1545ba5b 1284#ifndef NO_MATHOMS
57f51a64
KW
1285PERL_CALLCONV void Perl_gv_fullname(pTHX_ SV* sv, const GV* gv)
1286 __attribute__deprecated__;
7918f24d
NC
1287#define PERL_ARGS_ASSERT_GV_FULLNAME \
1288 assert(sv); assert(gv)
1545ba5b 1289#endif
57f51a64 1290
3f1866a8
KW
1291#ifndef NO_MATHOMS
1292PERL_CALLCONV void Perl_gv_fullname3(pTHX_ SV* sv, const GV* gv, const char* prefix);
7918f24d
NC
1293#define PERL_ARGS_ASSERT_GV_FULLNAME3 \
1294 assert(sv); assert(gv)
3f1866a8 1295#endif
6ba07ce1 1296PERL_CALLCONV void Perl_gv_fullname4(pTHX_ SV* sv, const GV* gv, const char* prefix, bool keepmain);
7918f24d
NC
1297#define PERL_ARGS_ASSERT_GV_FULLNAME4 \
1298 assert(sv); assert(gv)
e8a67806
NC
1299PERL_CALLCONV CV* Perl_gv_handler(pTHX_ HV* stash, I32 id)
1300 __attribute__warn_unused_result__;
2015d234 1301#define PERL_ARGS_ASSERT_GV_HANDLER
803f2748 1302
6ba07ce1 1303/* PERL_CALLCONV void gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi); */
2015d234 1304#define PERL_ARGS_ASSERT_GV_INIT
6ba07ce1 1305PERL_CALLCONV void Perl_gv_init_pv(pTHX_ GV* gv, HV* stash, const char* name, U32 flags);
e6066781 1306#define PERL_ARGS_ASSERT_GV_INIT_PV \
7918f24d 1307 assert(gv); assert(name)
6ba07ce1 1308PERL_CALLCONV void Perl_gv_init_pvn(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, U32 flags);
e6066781
BF
1309#define PERL_ARGS_ASSERT_GV_INIT_PVN \
1310 assert(gv); assert(name)
6ba07ce1 1311PERL_CALLCONV void Perl_gv_init_sv(pTHX_ GV* gv, HV* stash, SV* namesv, U32 flags);
e6066781
BF
1312#define PERL_ARGS_ASSERT_GV_INIT_SV \
1313 assert(gv); assert(namesv)
6ba07ce1 1314PERL_CALLCONV void Perl_gv_name_set(pTHX_ GV* gv, const char *name, U32 len, U32 flags);
7918f24d
NC
1315#define PERL_ARGS_ASSERT_GV_NAME_SET \
1316 assert(gv); assert(name)
6ba07ce1 1317PERL_CALLCONV GV * Perl_gv_override(pTHX_ const char * const name, const STRLEN len);
9e3fb20c
FC
1318#define PERL_ARGS_ASSERT_GV_OVERRIDE \
1319 assert(name)
6ba07ce1 1320PERL_CALLCONV void Perl_gv_setref(pTHX_ SV *const dstr, SV *const sstr);
d8a875d9
FC
1321#define PERL_ARGS_ASSERT_GV_SETREF \
1322 assert(dstr); assert(sstr)
6ba07ce1 1323PERL_CALLCONV HV* Perl_gv_stashpv(pTHX_ const char* name, I32 flags);
7918f24d
NC
1324#define PERL_ARGS_ASSERT_GV_STASHPV \
1325 assert(name)
6ba07ce1 1326PERL_CALLCONV HV* Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 flags);
7918f24d
NC
1327#define PERL_ARGS_ASSERT_GV_STASHPVN \
1328 assert(name)
6ba07ce1 1329PERL_CALLCONV HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 flags);
7918f24d
NC
1330#define PERL_ARGS_ASSERT_GV_STASHSV \
1331 assert(sv)
6ba07ce1 1332PERL_CALLCONV void Perl_gv_try_downgrade(pTHX_ GV* gv);
e8a67806
NC
1333#define PERL_ARGS_ASSERT_GV_TRY_DOWNGRADE \
1334 assert(gv)
6ba07ce1 1335PERL_CALLCONV AV** Perl_hv_backreferences_p(pTHX_ HV *hv);
e8a67806
NC
1336#define PERL_ARGS_ASSERT_HV_BACKREFERENCES_P \
1337 assert(hv)
8bf4c401 1338PERL_CALLCONV SV* Perl_hv_bucket_ratio(pTHX_ HV *hv)
8bf4c401
YO
1339 __attribute__warn_unused_result__;
1340#define PERL_ARGS_ASSERT_HV_BUCKET_RATIO \
1341 assert(hv)
1342
4048f010 1343PERL_CALLCONV void Perl_hv_clear(pTHX_ HV *hv);
2015d234 1344#define PERL_ARGS_ASSERT_HV_CLEAR
6ba07ce1 1345PERL_CALLCONV void Perl_hv_clear_placeholders(pTHX_ HV *hv);
e8a67806
NC
1346#define PERL_ARGS_ASSERT_HV_CLEAR_PLACEHOLDERS \
1347 assert(hv)
e8a67806 1348PERL_CALLCONV void* Perl_hv_common(pTHX_ HV *hv, SV *keysv, const char* key, STRLEN klen, int flags, int action, SV *val, U32 hash);
2015d234 1349#define PERL_ARGS_ASSERT_HV_COMMON
6ba07ce1 1350PERL_CALLCONV void* Perl_hv_common_key_len(pTHX_ HV *hv, const char *key, I32 klen_i32, const int action, SV *val, const U32 hash);
e8a67806
NC
1351#define PERL_ARGS_ASSERT_HV_COMMON_KEY_LEN \
1352 assert(key)
defdfed5
Z
1353PERL_CALLCONV HV * Perl_hv_copy_hints_hv(pTHX_ HV *const ohv)
1354 __attribute__warn_unused_result__;
2015d234 1355#define PERL_ARGS_ASSERT_HV_COPY_HINTS_HV
defdfed5 1356
6ba07ce1 1357PERL_CALLCONV void Perl_hv_delayfree_ent(pTHX_ HV *hv, HE *entry);
7918f24d
NC
1358#define PERL_ARGS_ASSERT_HV_DELAYFREE_ENT \
1359 assert(hv)
3f1866a8
KW
1360#ifndef NO_MATHOMS
1361PERL_CALLCONV SV* Perl_hv_delete(pTHX_ HV *hv, const char *key, I32 klen, I32 flags);
7918f24d
NC
1362#define PERL_ARGS_ASSERT_HV_DELETE \
1363 assert(key)
3f1866a8
KW
1364#endif
1365#ifndef NO_MATHOMS
1366PERL_CALLCONV SV* Perl_hv_delete_ent(pTHX_ HV *hv, SV *keysv, I32 flags, U32 hash);
7918f24d
NC
1367#define PERL_ARGS_ASSERT_HV_DELETE_ENT \
1368 assert(keysv)
3f1866a8 1369#endif
e8a67806 1370PERL_CALLCONV HE** Perl_hv_eiter_p(pTHX_ HV *hv)
6ba07ce1 1371 __attribute__warn_unused_result__;
e8a67806
NC
1372#define PERL_ARGS_ASSERT_HV_EITER_P \
1373 assert(hv)
1374
6ba07ce1 1375PERL_CALLCONV void Perl_hv_eiter_set(pTHX_ HV *hv, HE *eiter);
e8a67806
NC
1376#define PERL_ARGS_ASSERT_HV_EITER_SET \
1377 assert(hv)
6ba07ce1 1378PERL_CALLCONV void Perl_hv_ename_add(pTHX_ HV *hv, const char *name, U32 len, U32 flags);
78b79c77
FC
1379#define PERL_ARGS_ASSERT_HV_ENAME_ADD \
1380 assert(hv); assert(name)
6ba07ce1 1381PERL_CALLCONV void Perl_hv_ename_delete(pTHX_ HV *hv, const char *name, U32 len, U32 flags);
78b79c77
FC
1382#define PERL_ARGS_ASSERT_HV_ENAME_DELETE \
1383 assert(hv); assert(name)
3f1866a8
KW
1384#ifndef NO_MATHOMS
1385PERL_CALLCONV bool Perl_hv_exists(pTHX_ HV *hv, const char *key, I32 klen)
1386 __attribute__warn_unused_result__;
7918f24d
NC
1387#define PERL_ARGS_ASSERT_HV_EXISTS \
1388 assert(key)
3f1866a8 1389#endif
901017d6 1390
3f1866a8
KW
1391#ifndef NO_MATHOMS
1392PERL_CALLCONV bool Perl_hv_exists_ent(pTHX_ HV *hv, SV *keysv, U32 hash)
1393 __attribute__warn_unused_result__;
7918f24d
NC
1394#define PERL_ARGS_ASSERT_HV_EXISTS_ENT \
1395 assert(keysv)
3f1866a8 1396#endif
aa924a5a 1397
3f1866a8
KW
1398#ifndef NO_MATHOMS
1399PERL_CALLCONV SV** Perl_hv_fetch(pTHX_ HV *hv, const char *key, I32 klen, I32 lval);
7918f24d
NC
1400#define PERL_ARGS_ASSERT_HV_FETCH \
1401 assert(key)
3f1866a8
KW
1402#endif
1403#ifndef NO_MATHOMS
1404PERL_CALLCONV HE* Perl_hv_fetch_ent(pTHX_ HV *hv, SV *keysv, I32 lval, U32 hash);
7918f24d
NC
1405#define PERL_ARGS_ASSERT_HV_FETCH_ENT \
1406 assert(keysv)
3f1866a8 1407#endif
6ba07ce1 1408PERL_CALLCONV STRLEN Perl_hv_fill(pTHX_ HV *const hv);
4d0fbddd
NC
1409#define PERL_ARGS_ASSERT_HV_FILL \
1410 assert(hv)
6ba07ce1 1411PERL_CALLCONV void Perl_hv_free_ent(pTHX_ HV *hv, HE *entry);
7918f24d
NC
1412#define PERL_ARGS_ASSERT_HV_FREE_ENT \
1413 assert(hv)
6ba07ce1 1414PERL_CALLCONV I32 Perl_hv_iterinit(pTHX_ HV *hv);
7918f24d
NC
1415#define PERL_ARGS_ASSERT_HV_ITERINIT \
1416 assert(hv)
a3b680e6 1417PERL_CALLCONV char* Perl_hv_iterkey(pTHX_ HE* entry, I32* retlen)
6ba07ce1 1418 __attribute__warn_unused_result__;
7918f24d
NC
1419#define PERL_ARGS_ASSERT_HV_ITERKEY \
1420 assert(entry); assert(retlen)
a3b680e6
AL
1421
1422PERL_CALLCONV SV* Perl_hv_iterkeysv(pTHX_ HE* entry)
6ba07ce1 1423 __attribute__warn_unused_result__;
7918f24d
NC
1424#define PERL_ARGS_ASSERT_HV_ITERKEYSV \
1425 assert(entry)
a3b680e6 1426
3f1866a8
KW
1427#ifndef NO_MATHOMS
1428PERL_CALLCONV HE* Perl_hv_iternext(pTHX_ HV *hv)
1429 __attribute__warn_unused_result__;
7918f24d
NC
1430#define PERL_ARGS_ASSERT_HV_ITERNEXT \
1431 assert(hv)
3f1866a8 1432#endif
a3b680e6 1433
e8a67806 1434PERL_CALLCONV HE* Perl_hv_iternext_flags(pTHX_ HV *hv, I32 flags)
6ba07ce1 1435 __attribute__warn_unused_result__;
e8a67806
NC
1436#define PERL_ARGS_ASSERT_HV_ITERNEXT_FLAGS \
1437 assert(hv)
1438
4048f010 1439PERL_CALLCONV SV* Perl_hv_iternextsv(pTHX_ HV *hv, char **key, I32 *retlen)
6ba07ce1 1440 __attribute__warn_unused_result__;
7918f24d
NC
1441#define PERL_ARGS_ASSERT_HV_ITERNEXTSV \
1442 assert(hv); assert(key); assert(retlen)
a3b680e6 1443
4048f010 1444PERL_CALLCONV SV* Perl_hv_iterval(pTHX_ HV *hv, HE *entry)
6ba07ce1 1445 __attribute__warn_unused_result__;
7918f24d
NC
1446#define PERL_ARGS_ASSERT_HV_ITERVAL \
1447 assert(hv); assert(entry)
a3b680e6 1448
6ba07ce1 1449PERL_CALLCONV void Perl_hv_ksplit(pTHX_ HV *hv, IV newmax);
7918f24d
NC
1450#define PERL_ARGS_ASSERT_HV_KSPLIT \
1451 assert(hv)
3f1866a8
KW
1452#ifndef NO_MATHOMS
1453PERL_CALLCONV void Perl_hv_magic(pTHX_ HV *hv, GV *gv, int how);
7918f24d
NC
1454#define PERL_ARGS_ASSERT_HV_MAGIC \
1455 assert(hv)
3f1866a8 1456#endif
6ba07ce1 1457PERL_CALLCONV void Perl_hv_name_set(pTHX_ HV *hv, const char *name, U32 len, U32 flags);
e8a67806
NC
1458#define PERL_ARGS_ASSERT_HV_NAME_SET \
1459 assert(hv)
e8a67806 1460PERL_CALLCONV I32 Perl_hv_placeholders_get(pTHX_ const HV *hv)
6ba07ce1 1461 __attribute__warn_unused_result__;
e8a67806
NC
1462#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_GET \
1463 assert(hv)
1464
6174b39a 1465PERL_CALLCONV SSize_t* Perl_hv_placeholders_p(pTHX_ HV *hv)
6ba07ce1 1466 __attribute__warn_unused_result__;
e8a67806
NC
1467#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_P \
1468 assert(hv)
1469
6ba07ce1 1470PERL_CALLCONV void Perl_hv_placeholders_set(pTHX_ HV *hv, I32 ph);
e8a67806
NC
1471#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_SET \
1472 assert(hv)
8dc9003f 1473PERL_CALLCONV void Perl_hv_pushkv(pTHX_ HV *hv, U32 flags);
af3b1cba
DM
1474#define PERL_ARGS_ASSERT_HV_PUSHKV \
1475 assert(hv)
6ba07ce1 1476PERL_CALLCONV void Perl_hv_rand_set(pTHX_ HV *hv, U32 new_xhv_rand);
6a5b4183
YO
1477#define PERL_ARGS_ASSERT_HV_RAND_SET \
1478 assert(hv)
e8a67806 1479PERL_CALLCONV I32* Perl_hv_riter_p(pTHX_ HV *hv)
6ba07ce1 1480 __attribute__warn_unused_result__;
e8a67806
NC
1481#define PERL_ARGS_ASSERT_HV_RITER_P \
1482 assert(hv)
1483
6ba07ce1 1484PERL_CALLCONV void Perl_hv_riter_set(pTHX_ HV *hv, I32 riter);
e8a67806
NC
1485#define PERL_ARGS_ASSERT_HV_RITER_SET \
1486 assert(hv)
e8a67806 1487PERL_CALLCONV SV* Perl_hv_scalar(pTHX_ HV *hv)
6ba07ce1 1488 __attribute__warn_unused_result__;
e8a67806
NC
1489#define PERL_ARGS_ASSERT_HV_SCALAR \
1490 assert(hv)
012da8e5 1491
3f1866a8
KW
1492#ifndef NO_MATHOMS
1493PERL_CALLCONV SV** Perl_hv_store(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash);
2015d234 1494#define PERL_ARGS_ASSERT_HV_STORE
3f1866a8
KW
1495#endif
1496#ifndef NO_MATHOMS
1497PERL_CALLCONV HE* Perl_hv_store_ent(pTHX_ HV *hv, SV *key, SV *val, U32 hash);
2015d234 1498#define PERL_ARGS_ASSERT_HV_STORE_ENT
3f1866a8
KW
1499#endif
1500#ifndef NO_MATHOMS
1501PERL_CALLCONV SV** Perl_hv_store_flags(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash, int flags);
2015d234 1502#define PERL_ARGS_ASSERT_HV_STORE_FLAGS
3f1866a8 1503#endif
8581adba 1504/* PERL_CALLCONV void hv_undef(pTHX_ HV *hv); */
2015d234 1505#define PERL_ARGS_ASSERT_HV_UNDEF
8581adba 1506PERL_CALLCONV void Perl_hv_undef_flags(pTHX_ HV *hv, U32 flags);
2015d234 1507#define PERL_ARGS_ASSERT_HV_UNDEF_FLAGS
ca0c6e8c
KW
1508/* PERL_CALLCONV I32 ibcmp(pTHX_ const char* a, const char* b, I32 len)
1509 __attribute__warn_unused_result__
1510 __attribute__pure__; */
2015d234 1511#define PERL_ARGS_ASSERT_IBCMP
ca0c6e8c
KW
1512
1513/* PERL_CALLCONV I32 ibcmp_locale(pTHX_ const char* a, const char* b, I32 len)
1514 __attribute__warn_unused_result__
1515 __attribute__pure__; */
2015d234 1516#define PERL_ARGS_ASSERT_IBCMP_LOCALE
ca0c6e8c 1517
6ba07ce1 1518/* PERL_CALLCONV I32 ibcmp_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2); */
2015d234 1519#define PERL_ARGS_ASSERT_IBCMP_UTF8
6ba07ce1 1520PERL_CALLCONV void Perl_init_argv_symbols(pTHX_ int argc, char **argv);
7918f24d
NC
1521#define PERL_ARGS_ASSERT_INIT_ARGV_SYMBOLS \
1522 assert(argv)
0d96b528 1523PERL_CALLCONV void Perl_init_constants(pTHX);
2015d234 1524#define PERL_ARGS_ASSERT_INIT_CONSTANTS
8af6f985 1525PERL_CALLCONV void Perl_init_dbargs(pTHX);
2015d234 1526#define PERL_ARGS_ASSERT_INIT_DBARGS
1d7c1841 1527PERL_CALLCONV void Perl_init_debugger(pTHX);
2015d234 1528#define PERL_ARGS_ASSERT_INIT_DEBUGGER
e8a67806 1529PERL_CALLCONV int Perl_init_i18nl10n(pTHX_ int printwarn);
2015d234 1530#define PERL_ARGS_ASSERT_INIT_I18NL10N
1545ba5b 1531#ifndef NO_MATHOMS
57f51a64
KW
1532PERL_CALLCONV int Perl_init_i18nl14n(pTHX_ int printwarn)
1533 __attribute__deprecated__;
2015d234 1534#define PERL_ARGS_ASSERT_INIT_I18NL14N
1545ba5b 1535#endif
57f51a64 1536
50333c97
DM
1537PERL_CALLCONV void Perl_init_named_cv(pTHX_ CV *cv, OP *nameop);
1538#define PERL_ARGS_ASSERT_INIT_NAMED_CV \
1539 assert(cv); assert(nameop)
1d7c1841 1540PERL_CALLCONV void Perl_init_stacks(pTHX);
2015d234 1541#define PERL_ARGS_ASSERT_INIT_STACKS
6ba07ce1 1542PERL_CALLCONV void Perl_init_tm(pTHX_ struct tm *ptm);
7918f24d
NC
1543#define PERL_ARGS_ASSERT_INIT_TM \
1544 assert(ptm)
95e064d9 1545PERL_CALLCONV void Perl_init_uniprops(pTHX);
2015d234 1546#define PERL_ARGS_ASSERT_INIT_UNIPROPS
3f1866a8
KW
1547#ifndef NO_MATHOMS
1548PERL_CALLCONV char* Perl_instr(const char* big, const char* little)
b464bac0 1549 __attribute__warn_unused_result__
3f1866a8 1550 __attribute__pure__;
7918f24d
NC
1551#define PERL_ARGS_ASSERT_INSTR \
1552 assert(big); assert(little)
3f1866a8 1553#endif
f54cb97a 1554
e8a67806 1555PERL_CALLCONV U32 Perl_intro_my(pTHX);
2015d234 1556#define PERL_ARGS_ASSERT_INTRO_MY
e8a67806
NC
1557PERL_CALLCONV OP* Perl_invert(pTHX_ OP* cmd)
1558 __attribute__warn_unused_result__;
2015d234 1559#define PERL_ARGS_ASSERT_INVERT
e8a67806 1560
6ba07ce1 1561PERL_CALLCONV bool Perl_io_close(pTHX_ IO* io, GV *gv, bool not_implicit, bool warn_on_fail);
7918f24d
NC
1562#define PERL_ARGS_ASSERT_IO_CLOSE \
1563 assert(io)
cb57a253
KW
1564#ifndef NO_MATHOMS
1565PERL_CALLCONV bool Perl_isALNUM_lazy(pTHX_ const char* p)
1566 __attribute__deprecated__
1567 __attribute__warn_unused_result__;
1568#define PERL_ARGS_ASSERT_ISALNUM_LAZY \
1569 assert(p)
1570#endif
1571
8ed185f9 1572#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 1573PERL_STATIC_INLINE Size_t Perl_isC9_STRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e)
c5bfbb64
KW
1574 __attribute__warn_unused_result__;
1575#define PERL_ARGS_ASSERT_ISC9_STRICT_UTF8_CHAR \
1576 assert(s0); assert(e)
1577#endif
1578
cb57a253
KW
1579#ifndef NO_MATHOMS
1580PERL_CALLCONV bool Perl_isIDFIRST_lazy(pTHX_ const char* p)
1581 __attribute__deprecated__
1582 __attribute__warn_unused_result__;
1583#define PERL_ARGS_ASSERT_ISIDFIRST_LAZY \
1584 assert(p)
1585#endif
1586
c5bfbb64 1587#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 1588PERL_STATIC_INLINE Size_t Perl_isSTRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e)
67049a5f
KW
1589 __attribute__warn_unused_result__;
1590#define PERL_ARGS_ASSERT_ISSTRICT_UTF8_CHAR \
1591 assert(s0); assert(e)
1592#endif
1593
1594#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 1595PERL_STATIC_INLINE Size_t Perl_isUTF8_CHAR(const U8 * const s0, const U8 * const e)
8ed185f9
KW
1596 __attribute__warn_unused_result__;
1597#define PERL_ARGS_ASSERT_ISUTF8_CHAR \
1598 assert(s0); assert(e)
1599#endif
1600
ef9e3b4d 1601/* PERL_CALLCONV bool is_ascii_string(const U8* const s, STRLEN len)
a4c56e8a
KW
1602 __attribute__warn_unused_result__
1603 __attribute__pure__; */
2015d234 1604#define PERL_ARGS_ASSERT_IS_ASCII_STRING
7bbfa158 1605
ef9e3b4d 1606/* PERL_CALLCONV bool is_c9strict_utf8_string(const U8 *s, STRLEN len)
dd237e82 1607 __attribute__warn_unused_result__; */
2015d234 1608#define PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING
9f2abfde 1609
33756530 1610/* PERL_CALLCONV bool is_c9strict_utf8_string_loc(const U8 *s, STRLEN len, const U8 **ep); */
2015d234 1611#define PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING_LOC
a5d565cd 1612#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 1613PERL_STATIC_INLINE bool Perl_is_c9strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el);
9f2abfde
KW
1614#define PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING_LOCLEN \
1615 assert(s)
a5d565cd 1616#endif
ef9e3b4d 1617/* PERL_CALLCONV bool is_invariant_string(const U8* const s, STRLEN len)
a4c56e8a
KW
1618 __attribute__warn_unused_result__
1619 __attribute__pure__; */
2015d234 1620#define PERL_ARGS_ASSERT_IS_INVARIANT_STRING
f54cb97a 1621
e8a67806
NC
1622PERL_CALLCONV I32 Perl_is_lvalue_sub(pTHX)
1623 __attribute__warn_unused_result__;
2015d234 1624#define PERL_ARGS_ASSERT_IS_LVALUE_SUB
f54cb97a 1625
a5d565cd 1626#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 1627PERL_STATIC_INLINE bool Perl_is_safe_syscall(pTHX_ const char *pv, STRLEN len, const char *what, const char *op_name)
a5d565cd
JH
1628 __attribute__warn_unused_result__;
1629#define PERL_ARGS_ASSERT_IS_SAFE_SYSCALL \
1630 assert(pv); assert(what); assert(op_name)
1631#endif
1632
ef9e3b4d 1633/* PERL_CALLCONV bool is_strict_utf8_string(const U8 *s, STRLEN len)
dd237e82 1634 __attribute__warn_unused_result__; */
2015d234 1635#define PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING
9f2abfde 1636
33756530 1637/* PERL_CALLCONV bool is_strict_utf8_string_loc(const U8 *s, STRLEN len, const U8 **ep); */
2015d234 1638#define PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING_LOC
a5d565cd 1639#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 1640PERL_STATIC_INLINE bool Perl_is_strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el);
9f2abfde
KW
1641#define PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING_LOCLEN \
1642 assert(s)
a5d565cd 1643#endif
1545ba5b 1644#ifndef NO_MATHOMS
e8a67806 1645PERL_CALLCONV bool Perl_is_uni_alnum(pTHX_ UV c)
143aeb96 1646 __attribute__deprecated__
a62e8919 1647 __attribute__warn_unused_result__;
2015d234 1648#define PERL_ARGS_ASSERT_IS_UNI_ALNUM
1545ba5b 1649#endif
f54cb97a 1650
1545ba5b 1651#ifndef NO_MATHOMS
e8a67806 1652PERL_CALLCONV bool Perl_is_uni_alnum_lc(pTHX_ UV c)
143aeb96 1653 __attribute__deprecated__
a62e8919 1654 __attribute__warn_unused_result__;
2015d234 1655#define PERL_ARGS_ASSERT_IS_UNI_ALNUM_LC
1545ba5b 1656#endif
f54cb97a 1657
1545ba5b 1658#ifndef NO_MATHOMS
5092f92a 1659PERL_CALLCONV bool Perl_is_uni_alnumc(pTHX_ UV c)
143aeb96 1660 __attribute__deprecated__
a62e8919 1661 __attribute__warn_unused_result__;
2015d234 1662#define PERL_ARGS_ASSERT_IS_UNI_ALNUMC
1545ba5b 1663#endif
5092f92a 1664
1545ba5b 1665#ifndef NO_MATHOMS
5092f92a 1666PERL_CALLCONV bool Perl_is_uni_alnumc_lc(pTHX_ UV c)
143aeb96 1667 __attribute__deprecated__
a62e8919 1668 __attribute__warn_unused_result__;
2015d234 1669#define PERL_ARGS_ASSERT_IS_UNI_ALNUMC_LC
1545ba5b 1670#endif
5092f92a 1671
1545ba5b 1672#ifndef NO_MATHOMS
e8a67806 1673PERL_CALLCONV bool Perl_is_uni_alpha(pTHX_ UV c)
143aeb96 1674 __attribute__deprecated__
a62e8919 1675 __attribute__warn_unused_result__;
2015d234 1676#define PERL_ARGS_ASSERT_IS_UNI_ALPHA
1545ba5b 1677#endif
f54cb97a 1678
1545ba5b 1679#ifndef NO_MATHOMS
e8a67806 1680PERL_CALLCONV bool Perl_is_uni_alpha_lc(pTHX_ UV c)
143aeb96 1681 __attribute__deprecated__
a62e8919 1682 __attribute__warn_unused_result__;
2015d234 1683#define PERL_ARGS_ASSERT_IS_UNI_ALPHA_LC
1545ba5b 1684#endif
f54cb97a 1685
1545ba5b 1686#ifndef NO_MATHOMS
f54cb97a 1687PERL_CALLCONV bool Perl_is_uni_ascii(pTHX_ UV c)
61b19385 1688 __attribute__deprecated__
abb2c242
JH
1689 __attribute__warn_unused_result__
1690 __attribute__pure__;
2015d234 1691#define PERL_ARGS_ASSERT_IS_UNI_ASCII
1545ba5b 1692#endif
f54cb97a 1693
1545ba5b 1694#ifndef NO_MATHOMS
e8a67806 1695PERL_CALLCONV bool Perl_is_uni_ascii_lc(pTHX_ UV c)
61b19385 1696 __attribute__deprecated__
abb2c242
JH
1697 __attribute__warn_unused_result__
1698 __attribute__pure__;
2015d234 1699#define PERL_ARGS_ASSERT_IS_UNI_ASCII_LC
1545ba5b 1700#endif
f54cb97a 1701
1545ba5b 1702#ifndef NO_MATHOMS
bdd8600f 1703PERL_CALLCONV bool Perl_is_uni_blank(pTHX_ UV c)
61b19385 1704 __attribute__deprecated__
bdd8600f
KW
1705 __attribute__warn_unused_result__
1706 __attribute__pure__;
2015d234 1707#define PERL_ARGS_ASSERT_IS_UNI_BLANK
1545ba5b 1708#endif
bdd8600f 1709
1545ba5b 1710#ifndef NO_MATHOMS
9e3e825e 1711PERL_CALLCONV bool Perl_is_uni_blank_lc(pTHX_ UV c)
61b19385 1712 __attribute__deprecated__
9e3e825e
KW
1713 __attribute__warn_unused_result__
1714 __attribute__pure__;
2015d234 1715#define PERL_ARGS_ASSERT_IS_UNI_BLANK_LC
1545ba5b 1716#endif
9e3e825e 1717
1545ba5b 1718#ifndef NO_MATHOMS
f54cb97a 1719PERL_CALLCONV bool Perl_is_uni_cntrl(pTHX_ UV c)
61b19385 1720 __attribute__deprecated__
abb2c242
JH
1721 __attribute__warn_unused_result__
1722 __attribute__pure__;
2015d234 1723#define PERL_ARGS_ASSERT_IS_UNI_CNTRL
1545ba5b 1724#endif
f54cb97a 1725
1545ba5b 1726#ifndef NO_MATHOMS
e8a67806 1727PERL_CALLCONV bool Perl_is_uni_cntrl_lc(pTHX_ UV c)
61b19385 1728 __attribute__deprecated__
abb2c242
JH
1729 __attribute__warn_unused_result__
1730 __attribute__pure__;
2015d234 1731#define PERL_ARGS_ASSERT_IS_UNI_CNTRL_LC
1545ba5b 1732#endif
f54cb97a 1733
1545ba5b 1734#ifndef NO_MATHOMS
f54cb97a 1735PERL_CALLCONV bool Perl_is_uni_digit(pTHX_ UV c)
143aeb96 1736 __attribute__deprecated__
a62e8919 1737 __attribute__warn_unused_result__;
2015d234 1738#define PERL_ARGS_ASSERT_IS_UNI_DIGIT
1545ba5b 1739#endif
f54cb97a 1740
1545ba5b 1741#ifndef NO_MATHOMS
e8a67806 1742PERL_CALLCONV bool Perl_is_uni_digit_lc(pTHX_ UV c)
143aeb96 1743 __attribute__deprecated__
a62e8919 1744 __attribute__warn_unused_result__;
2015d234 1745#define PERL_ARGS_ASSERT_IS_UNI_DIGIT_LC
1545ba5b 1746#endif
f54cb97a 1747
1545ba5b 1748#ifndef NO_MATHOMS
e8a67806 1749PERL_CALLCONV bool Perl_is_uni_graph(pTHX_ UV c)
143aeb96 1750 __attribute__deprecated__
a62e8919 1751 __attribute__warn_unused_result__;
2015d234 1752#define PERL_ARGS_ASSERT_IS_UNI_GRAPH
1545ba5b 1753#endif
f54cb97a 1754
1545ba5b 1755#ifndef NO_MATHOMS
e8a67806 1756PERL_CALLCONV bool Perl_is_uni_graph_lc(pTHX_ UV c)
143aeb96 1757 __attribute__deprecated__
a62e8919 1758 __attribute__warn_unused_result__;
2015d234 1759#define PERL_ARGS_ASSERT_IS_UNI_GRAPH_LC
1545ba5b 1760#endif
f54cb97a 1761
1545ba5b 1762#ifndef NO_MATHOMS
e8a67806 1763PERL_CALLCONV bool Perl_is_uni_idfirst(pTHX_ UV c)
143aeb96 1764 __attribute__deprecated__
a62e8919 1765 __attribute__warn_unused_result__;
2015d234 1766#define PERL_ARGS_ASSERT_IS_UNI_IDFIRST
1545ba5b 1767#endif
f54cb97a 1768
1545ba5b 1769#ifndef NO_MATHOMS
e8a67806 1770PERL_CALLCONV bool Perl_is_uni_idfirst_lc(pTHX_ UV c)
61b19385 1771 __attribute__deprecated__
a62e8919 1772 __attribute__warn_unused_result__;
2015d234 1773#define PERL_ARGS_ASSERT_IS_UNI_IDFIRST_LC
1545ba5b 1774#endif
f54cb97a 1775
1545ba5b 1776#ifndef NO_MATHOMS
e8a67806 1777PERL_CALLCONV bool Perl_is_uni_lower(pTHX_ UV c)
143aeb96 1778 __attribute__deprecated__
a62e8919 1779 __attribute__warn_unused_result__;
2015d234 1780#define PERL_ARGS_ASSERT_IS_UNI_LOWER
1545ba5b 1781#endif
f54cb97a 1782
1545ba5b 1783#ifndef NO_MATHOMS
e8a67806 1784PERL_CALLCONV bool Perl_is_uni_lower_lc(pTHX_ UV c)
143aeb96 1785 __attribute__deprecated__
a62e8919 1786 __attribute__warn_unused_result__;
2015d234 1787#define PERL_ARGS_ASSERT_IS_UNI_LOWER_LC
1545ba5b 1788#endif
f54cb97a 1789
1545ba5b 1790#ifndef NO_MATHOMS
e8a67806 1791PERL_CALLCONV bool Perl_is_uni_print(pTHX_ UV c)
143aeb96 1792 __attribute__deprecated__
a62e8919 1793 __attribute__warn_unused_result__;
2015d234 1794#define PERL_ARGS_ASSERT_IS_UNI_PRINT
1545ba5b 1795#endif
f54cb97a 1796
1545ba5b 1797#ifndef NO_MATHOMS
e8a67806 1798PERL_CALLCONV bool Perl_is_uni_print_lc(pTHX_ UV c)
143aeb96 1799 __attribute__deprecated__
a62e8919 1800 __attribute__warn_unused_result__;
2015d234 1801#define PERL_ARGS_ASSERT_IS_UNI_PRINT_LC
1545ba5b 1802#endif
f54cb97a 1803
1545ba5b 1804#ifndef NO_MATHOMS
e8a67806 1805PERL_CALLCONV bool Perl_is_uni_punct(pTHX_ UV c)
143aeb96 1806 __attribute__deprecated__
a62e8919 1807 __attribute__warn_unused_result__;
2015d234 1808#define PERL_ARGS_ASSERT_IS_UNI_PUNCT
1545ba5b 1809#endif
f54cb97a 1810
1545ba5b 1811#ifndef NO_MATHOMS
e8a67806 1812PERL_CALLCONV bool Perl_is_uni_punct_lc(pTHX_ UV c)
143aeb96 1813 __attribute__deprecated__
a62e8919 1814 __attribute__warn_unused_result__;
2015d234 1815#define PERL_ARGS_ASSERT_IS_UNI_PUNCT_LC
1545ba5b 1816#endif
f54cb97a 1817
1545ba5b 1818#ifndef NO_MATHOMS
e8a67806 1819PERL_CALLCONV bool Perl_is_uni_space(pTHX_ UV c)
61b19385 1820 __attribute__deprecated__
abb2c242
JH
1821 __attribute__warn_unused_result__
1822 __attribute__pure__;
2015d234 1823#define PERL_ARGS_ASSERT_IS_UNI_SPACE
1545ba5b 1824#endif
f54cb97a 1825
1545ba5b 1826#ifndef NO_MATHOMS
e8a67806 1827PERL_CALLCONV bool Perl_is_uni_space_lc(pTHX_ UV c)
61b19385 1828 __attribute__deprecated__
abb2c242
JH
1829 __attribute__warn_unused_result__
1830 __attribute__pure__;
2015d234 1831#define PERL_ARGS_ASSERT_IS_UNI_SPACE_LC
1545ba5b 1832#endif
f54cb97a 1833
1545ba5b 1834#ifndef NO_MATHOMS
e8a67806 1835PERL_CALLCONV bool Perl_is_uni_upper(pTHX_ UV c)
143aeb96 1836 __attribute__deprecated__
a62e8919 1837 __attribute__warn_unused_result__;
2015d234 1838#define PERL_ARGS_ASSERT_IS_UNI_UPPER
1545ba5b 1839#endif
f54cb97a 1840
1545ba5b 1841#ifndef NO_MATHOMS
e8a67806 1842PERL_CALLCONV bool Perl_is_uni_upper_lc(pTHX_ UV c)
143aeb96 1843 __attribute__deprecated__
a62e8919 1844 __attribute__warn_unused_result__;
2015d234 1845#define PERL_ARGS_ASSERT_IS_UNI_UPPER_LC
1545ba5b 1846#endif
f54cb97a 1847
1545ba5b 1848#ifndef NO_MATHOMS
e8a67806 1849PERL_CALLCONV bool Perl_is_uni_xdigit(pTHX_ UV c)
61b19385 1850 __attribute__deprecated__
abb2c242
JH
1851 __attribute__warn_unused_result__
1852 __attribute__pure__;
2015d234 1853#define PERL_ARGS_ASSERT_IS_UNI_XDIGIT
1545ba5b 1854#endif
f54cb97a 1855
1545ba5b 1856#ifndef NO_MATHOMS
f54cb97a 1857PERL_CALLCONV bool Perl_is_uni_xdigit_lc(pTHX_ UV c)
61b19385 1858 __attribute__deprecated__
abb2c242
JH
1859 __attribute__warn_unused_result__
1860 __attribute__pure__;
2015d234 1861#define PERL_ARGS_ASSERT_IS_UNI_XDIGIT_LC
1545ba5b 1862#endif
f54cb97a 1863
1545ba5b 1864#ifndef NO_MATHOMS
cb57a253
KW
1865PERL_CALLCONV bool Perl_is_utf8_alnum(pTHX_ const U8 *p)
1866 __attribute__deprecated__
1867 __attribute__warn_unused_result__;
1868#define PERL_ARGS_ASSERT_IS_UTF8_ALNUM \
1869 assert(p)
1870#endif
1871
1872#ifndef NO_MATHOMS
1873PERL_CALLCONV bool Perl_is_utf8_alnumc(pTHX_ const U8 *p)
1874 __attribute__deprecated__
1875 __attribute__warn_unused_result__;
1876#define PERL_ARGS_ASSERT_IS_UTF8_ALNUMC \
1877 assert(p)
1878#endif
1879
1880#ifndef NO_MATHOMS
1881PERL_CALLCONV bool Perl_is_utf8_alpha(pTHX_ const U8 *p)
1882 __attribute__deprecated__
1883 __attribute__warn_unused_result__;
1884#define PERL_ARGS_ASSERT_IS_UTF8_ALPHA \
1885 assert(p)
1886#endif
1887
1888#ifndef NO_MATHOMS
1889PERL_CALLCONV bool Perl_is_utf8_ascii(pTHX_ const U8 *p)
1890 __attribute__deprecated__
1891 __attribute__warn_unused_result__;
1892#define PERL_ARGS_ASSERT_IS_UTF8_ASCII \
1893 assert(p)
1894#endif
1895
1896#ifndef NO_MATHOMS
1897PERL_CALLCONV bool Perl_is_utf8_blank(pTHX_ const U8 *p)
1898 __attribute__deprecated__
1899 __attribute__warn_unused_result__;
1900#define PERL_ARGS_ASSERT_IS_UTF8_BLANK \
1901 assert(p)
1902#endif
1903
1904#ifndef NO_MATHOMS
e8a67806 1905PERL_CALLCONV STRLEN Perl_is_utf8_char(const U8 *s)
6ba07ce1 1906 __attribute__deprecated__;
e8a67806
NC
1907#define PERL_ARGS_ASSERT_IS_UTF8_CHAR \
1908 assert(s)
1545ba5b 1909#endif
e8a67806 1910
3f1866a8
KW
1911#ifndef NO_MATHOMS
1912PERL_CALLCONV STRLEN Perl_is_utf8_char_buf(const U8 *buf, const U8 *buf_end);
492a624f
KW
1913#define PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF \
1914 assert(buf); assert(buf_end)
3f1866a8 1915#endif
1376b35c
KW
1916PERL_CALLCONV STRLEN Perl_is_utf8_char_helper(const U8 * const s, const U8 * e, const U32 flags)
1917 __attribute__warn_unused_result__
1918 __attribute__pure__;
1919#define PERL_ARGS_ASSERT_IS_UTF8_CHAR_HELPER \
1920 assert(s); assert(e)
1921
cb57a253
KW
1922#ifndef NO_MATHOMS
1923PERL_CALLCONV bool Perl_is_utf8_cntrl(pTHX_ const U8 *p)
1924 __attribute__deprecated__
1925 __attribute__warn_unused_result__;
1926#define PERL_ARGS_ASSERT_IS_UTF8_CNTRL \
1927 assert(p)
1928#endif
1929
1930#ifndef NO_MATHOMS
1931PERL_CALLCONV bool Perl_is_utf8_digit(pTHX_ const U8 *p)
1932 __attribute__deprecated__
1933 __attribute__warn_unused_result__;
1934#define PERL_ARGS_ASSERT_IS_UTF8_DIGIT \
1935 assert(p)
1936#endif
1937
33756530 1938/* PERL_CALLCONV bool is_utf8_fixed_width_buf_flags(const U8 * const s, STRLEN len, const U32 flags); */
2015d234 1939#define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_FLAGS
33756530 1940/* PERL_CALLCONV bool is_utf8_fixed_width_buf_loc_flags(const U8 * const s, STRLEN len, const U8 **ep, const U32 flags); */
2015d234 1941#define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_LOC_FLAGS
a5d565cd 1942#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 1943PERL_STATIC_INLINE bool Perl_is_utf8_fixed_width_buf_loclen_flags(const U8 * const s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags);
8bc127bf
KW
1944#define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_LOCLEN_FLAGS \
1945 assert(s)
a5d565cd 1946#endif
cb57a253
KW
1947#ifndef NO_MATHOMS
1948PERL_CALLCONV bool Perl_is_utf8_graph(pTHX_ const U8 *p)
1949 __attribute__deprecated__
1950 __attribute__warn_unused_result__;
1951#define PERL_ARGS_ASSERT_IS_UTF8_GRAPH \
1952 assert(p)
1953#endif
1954
1955#ifndef NO_MATHOMS
1956PERL_CALLCONV bool Perl_is_utf8_idcont(pTHX_ const U8 *p)
1957 __attribute__deprecated__
1958 __attribute__warn_unused_result__;
1959#define PERL_ARGS_ASSERT_IS_UTF8_IDCONT \
1960 assert(p)
1961#endif
1962
1963#ifndef NO_MATHOMS
1964PERL_CALLCONV bool Perl_is_utf8_idfirst(pTHX_ const U8 *p)
1965 __attribute__deprecated__
1966 __attribute__warn_unused_result__;
1967#define PERL_ARGS_ASSERT_IS_UTF8_IDFIRST \
1968 assert(p)
1969#endif
1970
e17544a6 1971/* PERL_CALLCONV bool is_utf8_invariant_string(const U8* const s, STRLEN len)
0cbf5865 1972 __attribute__warn_unused_result__; */
2015d234 1973#define PERL_ARGS_ASSERT_IS_UTF8_INVARIANT_STRING
0cbf5865 1974
a5d565cd 1975#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 1976PERL_STATIC_INLINE bool Perl_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep)
cfe24c19 1977 __attribute__warn_unused_result__;
0cbf5865 1978#define PERL_ARGS_ASSERT_IS_UTF8_INVARIANT_STRING_LOC \
8871a094 1979 assert(s)
a5d565cd 1980#endif
8871a094 1981
cb57a253
KW
1982#ifndef NO_MATHOMS
1983PERL_CALLCONV bool Perl_is_utf8_lower(pTHX_ const U8 *p)
1984 __attribute__deprecated__
1985 __attribute__warn_unused_result__;
1986#define PERL_ARGS_ASSERT_IS_UTF8_LOWER \
1987 assert(p)
1988#endif
1989
1990#ifndef NO_MATHOMS
1991PERL_CALLCONV bool Perl_is_utf8_mark(pTHX_ const U8 *p)
1992 __attribute__deprecated__
1993 __attribute__warn_unused_result__;
1994#define PERL_ARGS_ASSERT_IS_UTF8_MARK \
1995 assert(p)
1996#endif
1997
1998#ifndef NO_MATHOMS
1999PERL_CALLCONV bool Perl_is_utf8_perl_space(pTHX_ const U8 *p)
2000 __attribute__deprecated__
2001 __attribute__warn_unused_result__;
2002#define PERL_ARGS_ASSERT_IS_UTF8_PERL_SPACE \
2003 assert(p)
2004#endif
2005
2006#ifndef NO_MATHOMS
2007PERL_CALLCONV bool Perl_is_utf8_perl_word(pTHX_ const U8 *p)
2008 __attribute__deprecated__
2009 __attribute__warn_unused_result__;
2010#define PERL_ARGS_ASSERT_IS_UTF8_PERL_WORD \
2011 assert(p)
2012#endif
2013
2014#ifndef NO_MATHOMS
2015PERL_CALLCONV bool Perl_is_utf8_posix_digit(pTHX_ const U8 *p)
2016 __attribute__deprecated__
2017 __attribute__warn_unused_result__;
2018#define PERL_ARGS_ASSERT_IS_UTF8_POSIX_DIGIT \
2019 assert(p)
2020#endif
2021
2022#ifndef NO_MATHOMS
2023PERL_CALLCONV bool Perl_is_utf8_print(pTHX_ const U8 *p)
2024 __attribute__deprecated__
2025 __attribute__warn_unused_result__;
2026#define PERL_ARGS_ASSERT_IS_UTF8_PRINT \
2027 assert(p)
2028#endif
2029
2030#ifndef NO_MATHOMS
2031PERL_CALLCONV bool Perl_is_utf8_punct(pTHX_ const U8 *p)
2032 __attribute__deprecated__
2033 __attribute__warn_unused_result__;
2034#define PERL_ARGS_ASSERT_IS_UTF8_PUNCT \
2035 assert(p)
2036#endif
2037
2038#ifndef NO_MATHOMS
2039PERL_CALLCONV bool Perl_is_utf8_space(pTHX_ const U8 *p)
2040 __attribute__deprecated__
2041 __attribute__warn_unused_result__;
2042#define PERL_ARGS_ASSERT_IS_UTF8_SPACE \
2043 assert(p)
2044#endif
2045
ef9e3b4d 2046/* PERL_CALLCONV bool is_utf8_string(const U8 *s, STRLEN len)
dd237e82 2047 __attribute__warn_unused_result__; */
2015d234 2048#define PERL_ARGS_ASSERT_IS_UTF8_STRING
35936d22 2049
a5d565cd 2050#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 2051PERL_STATIC_INLINE bool Perl_is_utf8_string_flags(const U8 *s, STRLEN len, const U32 flags)
cfe24c19 2052 __attribute__warn_unused_result__;
9f2abfde
KW
2053#define PERL_ARGS_ASSERT_IS_UTF8_STRING_FLAGS \
2054 assert(s)
a5d565cd 2055#endif
9f2abfde 2056
3f1866a8 2057#ifndef NO_MATHOMS
8d1c5bf7 2058PERL_CALLCONV bool Perl_is_utf8_string_loc(const U8 *s, const STRLEN len, const U8 **ep);
e8a67806 2059#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOC \
55c5b58b 2060 assert(s); assert(ep)
3f1866a8 2061#endif
f60f61fd 2062/* PERL_CALLCONV bool is_utf8_string_loc_flags(const U8 *s, STRLEN len, const U8 **ep, const U32 flags); */
2015d234 2063#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOC_FLAGS
a5d565cd 2064#ifndef PERL_NO_INLINE_FUNCTIONS
f60f61fd 2065PERL_STATIC_INLINE bool Perl_is_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el);
e8a67806
NC
2066#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN \
2067 assert(s)
a5d565cd
JH
2068#endif
2069#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 2070PERL_STATIC_INLINE bool Perl_is_utf8_string_loclen_flags(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags);
9f2abfde
KW
2071#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN_FLAGS \
2072 assert(s)
a5d565cd 2073#endif
cb57a253
KW
2074#ifndef NO_MATHOMS
2075PERL_CALLCONV bool Perl_is_utf8_upper(pTHX_ const U8 *p)
2076 __attribute__deprecated__
2077 __attribute__warn_unused_result__;
2078#define PERL_ARGS_ASSERT_IS_UTF8_UPPER \
2079 assert(p)
2080#endif
2081
f1c999a7 2082/* PERL_CALLCONV bool is_utf8_valid_partial_char(const U8 * const s, const U8 * const e)
b289a0bd 2083 __attribute__warn_unused_result__
f1c999a7 2084 __attribute__pure__; */
2015d234 2085#define PERL_ARGS_ASSERT_IS_UTF8_VALID_PARTIAL_CHAR
f1c999a7 2086
a5d565cd 2087#ifndef PERL_NO_INLINE_FUNCTIONS
c9182d9c 2088PERL_STATIC_INLINE bool Perl_is_utf8_valid_partial_char_flags(const U8 * const s, const U8 * const e, const U32 flags)
cfe24c19 2089 __attribute__warn_unused_result__;
f1c999a7 2090#define PERL_ARGS_ASSERT_IS_UTF8_VALID_PARTIAL_CHAR_FLAGS \
4dab108f 2091 assert(s); assert(e)
a5d565cd 2092#endif
4dab108f 2093
cb57a253
KW
2094#ifndef NO_MATHOMS
2095PERL_CALLCONV bool Perl_is_utf8_xdigit(pTHX_ const U8 *p)
2096 __attribute__deprecated__
2097 __attribute__warn_unused_result__;
2098#define PERL_ARGS_ASSERT_IS_UTF8_XDIGIT \
2099 assert(p)
2100#endif
2101
2102#ifndef NO_MATHOMS
2103PERL_CALLCONV bool Perl_is_utf8_xidcont(pTHX_ const U8 *p)
2104 __attribute__deprecated__
2105 __attribute__warn_unused_result__;
2106#define PERL_ARGS_ASSERT_IS_UTF8_XIDCONT \
2107 assert(p)
2108#endif
2109
2110#ifndef NO_MATHOMS
2111PERL_CALLCONV bool Perl_is_utf8_xidfirst(pTHX_ const U8 *p)
2112 __attribute__deprecated__
2113 __attribute__warn_unused_result__;
2114#define PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST \
2115 assert(p)
2116#endif
2117
ca0c6e8c
KW
2118PERL_CALLCONV bool Perl_isinfnan(NV nv)
2119 __attribute__warn_unused_result__
2120 __attribute__pure__;
2015d234 2121#define PERL_ARGS_ASSERT_ISINFNAN
ca0c6e8c 2122
6ba07ce1 2123PERL_CALLCONV bool Perl_isinfnansv(pTHX_ SV *sv);
354b74ae
FC
2124#define PERL_ARGS_ASSERT_ISINFNANSV \
2125 assert(sv)
6ba07ce1 2126PERL_CALLCONV OP* Perl_jmaybe(pTHX_ OP *o);
7918f24d
NC
2127#define PERL_ARGS_ASSERT_JMAYBE \
2128 assert(o)
4048f010 2129PERL_CALLCONV I32 Perl_keyword(pTHX_ const char *name, I32 len, bool all_keywords)
b289a0bd 2130 __attribute__warn_unused_result__
6ba07ce1 2131 __attribute__pure__;
7918f24d
NC
2132#define PERL_ARGS_ASSERT_KEYWORD \
2133 assert(name)
f54cb97a 2134
6ba07ce1 2135PERL_CALLCONV int Perl_keyword_plugin_standard(pTHX_ char* keyword_ptr, STRLEN keyword_len, OP** op_ptr);
e8a67806
NC
2136#define PERL_ARGS_ASSERT_KEYWORD_PLUGIN_STANDARD \
2137 assert(keyword_ptr); assert(op_ptr)
1c23e2bd 2138PERL_CALLCONV void Perl_leave_adjust_stacks(pTHX_ SV **from_sp, SV **to_sp, U8 gimme, int filter);
799da9d7 2139#define PERL_ARGS_ASSERT_LEAVE_ADJUST_STACKS \
e02ce34b 2140 assert(from_sp); assert(to_sp)
e8a67806 2141PERL_CALLCONV void Perl_leave_scope(pTHX_ I32 base);
2015d234 2142#define PERL_ARGS_ASSERT_LEAVE_SCOPE
e8a67806 2143PERL_CALLCONV bool Perl_lex_bufutf8(pTHX);
2015d234 2144#define PERL_ARGS_ASSERT_LEX_BUFUTF8
6ba07ce1 2145PERL_CALLCONV void Perl_lex_discard_to(pTHX_ char* ptr);
e8a67806
NC
2146#define PERL_ARGS_ASSERT_LEX_DISCARD_TO \
2147 assert(ptr)
f0e67a1d 2148PERL_CALLCONV char* Perl_lex_grow_linestr(pTHX_ STRLEN len);
2015d234 2149#define PERL_ARGS_ASSERT_LEX_GROW_LINESTR
e8a67806 2150PERL_CALLCONV bool Perl_lex_next_chunk(pTHX_ U32 flags);
2015d234 2151#define PERL_ARGS_ASSERT_LEX_NEXT_CHUNK
e8a67806 2152PERL_CALLCONV I32 Perl_lex_peek_unichar(pTHX_ U32 flags);
2015d234 2153#define PERL_ARGS_ASSERT_LEX_PEEK_UNICHAR
e8a67806 2154PERL_CALLCONV void Perl_lex_read_space(pTHX_ U32 flags);
2015d234 2155#define PERL_ARGS_ASSERT_LEX_READ_SPACE
6ba07ce1 2156PERL_CALLCONV void Perl_lex_read_to(pTHX_ char* ptr);
e8a67806
NC
2157#define PERL_ARGS_ASSERT_LEX_READ_TO \
2158 assert(ptr)
e8a67806 2159PERL_CALLCONV I32 Perl_lex_read_unichar(pTHX_ U32 flags);
2015d234 2160#define PERL_ARGS_ASSERT_LEX_READ_UNICHAR
8eaa0acf 2161PERL_CALLCONV void Perl_lex_start(pTHX_ SV* line, PerlIO *rsfp, U32 flags);
2015d234 2162#define PERL_ARGS_ASSERT_LEX_START
6ba07ce1 2163PERL_CALLCONV void Perl_lex_stuff_pv(pTHX_ const char* pv, U32 flags);
9dcc53ea
Z
2164#define PERL_ARGS_ASSERT_LEX_STUFF_PV \
2165 assert(pv)
6ba07ce1 2166PERL_CALLCONV void Perl_lex_stuff_pvn(pTHX_ const char* pv, STRLEN len, U32 flags);
e8a67806
NC
2167#define PERL_ARGS_ASSERT_LEX_STUFF_PVN \
2168 assert(pv)
6ba07ce1 2169PERL_CALLCONV void Perl_lex_stuff_sv(pTHX_ SV* sv, U32 flags);
f0e67a1d
Z
2170#define PERL_ARGS_ASSERT_LEX_STUFF_SV \
2171 assert(sv)
6ba07ce1 2172PERL_CALLCONV void Perl_lex_unstuff(pTHX_ char* ptr);
f0e67a1d
Z
2173#define PERL_ARGS_ASSERT_LEX_UNSTUFF \
2174 assert(ptr)
1d7c1841 2175PERL_CALLCONV OP* Perl_list(pTHX_ OP* o);
2015d234 2176#define PERL_ARGS_ASSERT_LIST
6ba07ce1 2177PERL_CALLCONV void Perl_load_module(pTHX_ U32 flags, SV* name, SV* ver, ...);
7918f24d
NC
2178#define PERL_ARGS_ASSERT_LOAD_MODULE \
2179 assert(name)
6ba07ce1 2180PERL_CALLCONV OP* Perl_localize(pTHX_ OP *o, I32 lex);
7918f24d
NC
2181#define PERL_ARGS_ASSERT_LOCALIZE \
2182 assert(o)
aad570aa 2183PERL_CALLCONV I32 Perl_looks_like_number(pTHX_ SV *const sv)
6ba07ce1 2184 __attribute__warn_unused_result__;
7918f24d
NC
2185#define PERL_ARGS_ASSERT_LOOKS_LIKE_NUMBER \
2186 assert(sv)
f54cb97a 2187
6ba07ce1 2188PERL_CALLCONV int Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg);
e8a67806
NC
2189#define PERL_ARGS_ASSERT_MAGIC_CLEAR_ALL_ENV \
2190 assert(sv); assert(mg)
6ba07ce1 2191PERL_CALLCONV int Perl_magic_cleararylen_p(pTHX_ SV* sv, MAGIC* mg);
83f29afa
VP
2192#define PERL_ARGS_ASSERT_MAGIC_CLEARARYLEN_P \
2193 assert(sv); assert(mg)
6ba07ce1 2194PERL_CALLCONV int Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2195#define PERL_ARGS_ASSERT_MAGIC_CLEARENV \
2196 assert(sv); assert(mg)
6ba07ce1 2197PERL_CALLCONV int Perl_magic_clearhint(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2198#define PERL_ARGS_ASSERT_MAGIC_CLEARHINT \
2199 assert(sv); assert(mg)
6ba07ce1 2200PERL_CALLCONV int Perl_magic_clearhints(pTHX_ SV* sv, MAGIC* mg);
f747ebd6
Z
2201#define PERL_ARGS_ASSERT_MAGIC_CLEARHINTS \
2202 assert(sv); assert(mg)
6ba07ce1 2203PERL_CALLCONV int Perl_magic_clearisa(pTHX_ SV* sv, MAGIC* mg);
7918f24d 2204#define PERL_ARGS_ASSERT_MAGIC_CLEARISA \
0e446081 2205 assert(mg)
6ba07ce1 2206PERL_CALLCONV int Perl_magic_clearpack(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2207#define PERL_ARGS_ASSERT_MAGIC_CLEARPACK \
2208 assert(sv); assert(mg)
6ba07ce1 2209PERL_CALLCONV int Perl_magic_clearsig(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2210#define PERL_ARGS_ASSERT_MAGIC_CLEARSIG \
2211 assert(sv); assert(mg)
6ba07ce1 2212PERL_CALLCONV int Perl_magic_copycallchecker(pTHX_ SV* sv, MAGIC *mg, SV *nsv, const char *name, I32 namlen);
09fb282d
FC
2213#define PERL_ARGS_ASSERT_MAGIC_COPYCALLCHECKER \
2214 assert(sv); assert(mg); assert(nsv)
e8a67806 2215PERL_CALLCONV void Perl_magic_dump(pTHX_ const MAGIC *mg);
2015d234 2216#define PERL_ARGS_ASSERT_MAGIC_DUMP
6ba07ce1 2217PERL_CALLCONV int Perl_magic_existspack(pTHX_ SV* sv, const MAGIC* mg);
7918f24d
NC
2218#define PERL_ARGS_ASSERT_MAGIC_EXISTSPACK \
2219 assert(sv); assert(mg)
6ba07ce1 2220PERL_CALLCONV int Perl_magic_freearylen_p(pTHX_ SV* sv, MAGIC* mg);
e8a67806
NC
2221#define PERL_ARGS_ASSERT_MAGIC_FREEARYLEN_P \
2222 assert(sv); assert(mg)
6ba07ce1 2223PERL_CALLCONV int Perl_magic_freeovrld(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2224#define PERL_ARGS_ASSERT_MAGIC_FREEOVRLD \
2225 assert(sv); assert(mg)
6ba07ce1 2226PERL_CALLCONV int Perl_magic_get(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2227#define PERL_ARGS_ASSERT_MAGIC_GET \
2228 assert(sv); assert(mg)
6ba07ce1 2229PERL_CALLCONV int Perl_magic_getarylen(pTHX_ SV* sv, const MAGIC* mg);
7918f24d
NC
2230#define PERL_ARGS_ASSERT_MAGIC_GETARYLEN \
2231 assert(sv); assert(mg)
6ba07ce1 2232PERL_CALLCONV int Perl_magic_getdebugvar(pTHX_ SV* sv, MAGIC* mg);
a6d69523
TC
2233#define PERL_ARGS_ASSERT_MAGIC_GETDEBUGVAR \
2234 assert(sv); assert(mg)
6ba07ce1 2235PERL_CALLCONV int Perl_magic_getdefelem(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2236#define PERL_ARGS_ASSERT_MAGIC_GETDEFELEM \
2237 assert(sv); assert(mg)
6ba07ce1 2238PERL_CALLCONV int Perl_magic_getnkeys(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2239#define PERL_ARGS_ASSERT_MAGIC_GETNKEYS \
2240 assert(sv); assert(mg)
6ba07ce1 2241PERL_CALLCONV int Perl_magic_getpack(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2242#define PERL_ARGS_ASSERT_MAGIC_GETPACK \
2243 assert(sv); assert(mg)
6ba07ce1 2244PERL_CALLCONV int Perl_magic_getpos(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2245#define PERL_ARGS_ASSERT_MAGIC_GETPOS \
2246 assert(sv); assert(mg)
6ba07ce1 2247PERL_CALLCONV int Perl_magic_getsig(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2248#define PERL_ARGS_ASSERT_MAGIC_GETSIG \
2249 assert(sv); assert(mg)
6ba07ce1 2250PERL_CALLCONV int Perl_magic_getsubstr(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2251#define PERL_ARGS_ASSERT_MAGIC_GETSUBSTR \
2252 assert(sv); assert(mg)
6ba07ce1 2253PERL_CALLCONV int Perl_magic_gettaint(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2254#define PERL_ARGS_ASSERT_MAGIC_GETTAINT \
2255 assert(sv); assert(mg)
6ba07ce1 2256PERL_CALLCONV int Perl_magic_getuvar(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2257#define PERL_ARGS_ASSERT_MAGIC_GETUVAR \
2258 assert(sv); assert(mg)
6ba07ce1 2259PERL_CALLCONV int Perl_magic_getvec(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2260#define PERL_ARGS_ASSERT_MAGIC_GETVEC \
2261 assert(sv); assert(mg)
6ba07ce1 2262PERL_CALLCONV int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg);
e8a67806
NC
2263#define PERL_ARGS_ASSERT_MAGIC_KILLBACKREFS \
2264 assert(sv); assert(mg)
6ba07ce1 2265PERL_CALLCONV SV* Perl_magic_methcall(pTHX_ SV *sv, const MAGIC *mg, SV *meth, U32 flags, U32 argc, ...);
e8a67806
NC
2266#define PERL_ARGS_ASSERT_MAGIC_METHCALL \
2267 assert(sv); assert(mg); assert(meth)
6ba07ce1 2268PERL_CALLCONV int Perl_magic_nextpack(pTHX_ SV *sv, MAGIC *mg, SV *key);
7918f24d
NC
2269#define PERL_ARGS_ASSERT_MAGIC_NEXTPACK \
2270 assert(sv); assert(mg); assert(key)
6ba07ce1 2271PERL_CALLCONV U32 Perl_magic_regdata_cnt(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2272#define PERL_ARGS_ASSERT_MAGIC_REGDATA_CNT \
2273 assert(sv); assert(mg)
6ba07ce1 2274PERL_CALLCONV int Perl_magic_regdatum_get(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2275#define PERL_ARGS_ASSERT_MAGIC_REGDATUM_GET \
2276 assert(sv); assert(mg)
6ba07ce1 2277PERL_CALLCONV SV* Perl_magic_scalarpack(pTHX_ HV *hv, MAGIC *mg);
e8a67806
NC
2278#define PERL_ARGS_ASSERT_MAGIC_SCALARPACK \
2279 assert(hv); assert(mg)
6ba07ce1 2280PERL_CALLCONV int Perl_magic_set(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2281#define PERL_ARGS_ASSERT_MAGIC_SET \
2282 assert(sv); assert(mg)
6ba07ce1 2283PERL_CALLCONV int Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg);
e8a67806 2284#define PERL_ARGS_ASSERT_MAGIC_SET_ALL_ENV \
7918f24d 2285 assert(sv); assert(mg)
6ba07ce1 2286PERL_CALLCONV int Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg);
e8a67806 2287#define PERL_ARGS_ASSERT_MAGIC_SETARYLEN \
7918f24d 2288 assert(sv); assert(mg)
6ba07ce1 2289PERL_CALLCONV int Perl_magic_setdbline(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2290#define PERL_ARGS_ASSERT_MAGIC_SETDBLINE \
2291 assert(sv); assert(mg)
6ba07ce1 2292PERL_CALLCONV int Perl_magic_setdebugvar(pTHX_ SV* sv, MAGIC* mg);
a6d69523
TC
2293#define PERL_ARGS_ASSERT_MAGIC_SETDEBUGVAR \
2294 assert(sv); assert(mg)
6ba07ce1 2295PERL_CALLCONV int Perl_magic_setdefelem(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2296#define PERL_ARGS_ASSERT_MAGIC_SETDEFELEM \
2297 assert(sv); assert(mg)
6ba07ce1 2298PERL_CALLCONV int Perl_magic_setenv(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2299#define PERL_ARGS_ASSERT_MAGIC_SETENV \
2300 assert(sv); assert(mg)
6ba07ce1 2301PERL_CALLCONV int Perl_magic_sethint(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2302#define PERL_ARGS_ASSERT_MAGIC_SETHINT \
2303 assert(sv); assert(mg)
6ba07ce1 2304PERL_CALLCONV int Perl_magic_setisa(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2305#define PERL_ARGS_ASSERT_MAGIC_SETISA \
2306 assert(sv); assert(mg)
6ba07ce1 2307PERL_CALLCONV int Perl_magic_setlvref(pTHX_ SV* sv, MAGIC* mg);
9cce4f9a
FC
2308#define PERL_ARGS_ASSERT_MAGIC_SETLVREF \
2309 assert(sv); assert(mg)
6ba07ce1 2310PERL_CALLCONV int Perl_magic_setmglob(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2311#define PERL_ARGS_ASSERT_MAGIC_SETMGLOB \
2312 assert(sv); assert(mg)
6ba07ce1 2313PERL_CALLCONV int Perl_magic_setnkeys(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2314#define PERL_ARGS_ASSERT_MAGIC_SETNKEYS \
2315 assert(sv); assert(mg)
1f1dcfb5
FC
2316PERL_CALLCONV int Perl_magic_setnonelem(pTHX_ SV* sv, MAGIC* mg);
2317#define PERL_ARGS_ASSERT_MAGIC_SETNONELEM \
2318 assert(sv); assert(mg)
6ba07ce1 2319PERL_CALLCONV int Perl_magic_setpack(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2320#define PERL_ARGS_ASSERT_MAGIC_SETPACK \
2321 assert(sv); assert(mg)
6ba07ce1 2322PERL_CALLCONV int Perl_magic_setpos(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2323#define PERL_ARGS_ASSERT_MAGIC_SETPOS \
2324 assert(sv); assert(mg)
6ba07ce1 2325PERL_CALLCONV int Perl_magic_setregexp(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2326#define PERL_ARGS_ASSERT_MAGIC_SETREGEXP \
2327 assert(sv); assert(mg)
6ba07ce1 2328PERL_CALLCONV int Perl_magic_setsig(pTHX_ SV* sv, MAGIC* mg);
7918f24d 2329#define PERL_ARGS_ASSERT_MAGIC_SETSIG \
38a124f0 2330 assert(mg)
6ba07ce1 2331PERL_CALLCONV int Perl_magic_setsubstr(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2332#define PERL_ARGS_ASSERT_MAGIC_SETSUBSTR \
2333 assert(sv); assert(mg)
6ba07ce1 2334PERL_CALLCONV int Perl_magic_settaint(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2335#define PERL_ARGS_ASSERT_MAGIC_SETTAINT \
2336 assert(sv); assert(mg)
6ba07ce1 2337PERL_CALLCONV int Perl_magic_setutf8(pTHX_ SV* sv, MAGIC* mg);
e8a67806 2338#define PERL_ARGS_ASSERT_MAGIC_SETUTF8 \
7918f24d 2339 assert(sv); assert(mg)
6ba07ce1 2340PERL_CALLCONV int Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg);
e8a67806 2341#define PERL_ARGS_ASSERT_MAGIC_SETUVAR \
7918f24d 2342 assert(sv); assert(mg)
6ba07ce1 2343PERL_CALLCONV int Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg);
e8a67806 2344#define PERL_ARGS_ASSERT_MAGIC_SETVEC \
7918f24d 2345 assert(sv); assert(mg)
6ba07ce1 2346PERL_CALLCONV U32 Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2347#define PERL_ARGS_ASSERT_MAGIC_SIZEPACK \
2348 assert(sv); assert(mg)
6ba07ce1 2349PERL_CALLCONV int Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg);
7918f24d
NC
2350#define PERL_ARGS_ASSERT_MAGIC_WIPEPACK \
2351 assert(sv); assert(mg)
e8a67806
NC
2352PERL_CALLCONV Malloc_t Perl_malloc(MEM_SIZE nbytes)
2353 __attribute__malloc__
2354 __attribute__warn_unused_result__;
2015d234 2355#define PERL_ARGS_ASSERT_MALLOC
efaf3674 2356
ba5248fc 2357PERL_CALLCONV I32 * Perl_markstack_grow(pTHX);
2015d234 2358#define PERL_ARGS_ASSERT_MARKSTACK_GROW
894356b3 2359PERL_CALLCONV SV* Perl_mess(pTHX_ const char* pat, ...)
6ba07ce1 2360 __attribute__format__(__printf__,pTHX_1,pTHX_2);
7918f24d
NC
2361#define PERL_ARGS_ASSERT_MESS \
2362 assert(pat)
aec46f14 2363
6ba07ce1 2364PERL_CALLCONV SV* Perl_mess_sv(pTHX_ SV* basemsg, bool consume);
c5df3096
Z
2365#define PERL_ARGS_ASSERT_MESS_SV \
2366 assert(basemsg)
e8a67806 2367PERL_CALLCONV Free_t Perl_mfree(Malloc_t where);
2015d234 2368#define PERL_ARGS_ASSERT_MFREE
6ba07ce1 2369PERL_CALLCONV int Perl_mg_clear(pTHX_ SV* sv);
7918f24d
NC
2370#define PERL_ARGS_ASSERT_MG_CLEAR \
2371 assert(sv)
6ba07ce1 2372PERL_CALLCONV int Perl_mg_copy(pTHX_ SV *sv, SV *nsv, const char *key, I32 klen);
7918f24d
NC
2373#define PERL_ARGS_ASSERT_MG_COPY \
2374 assert(sv); assert(nsv)
ddeaf645 2375PERL_CALLCONV MAGIC* Perl_mg_find(const SV* sv, int type)
255164ba 2376 __attribute__warn_unused_result__;
2015d234 2377#define PERL_ARGS_ASSERT_MG_FIND
255164ba 2378
96c2a8ff 2379PERL_CALLCONV MAGIC* Perl_mg_find_mglob(pTHX_ SV* sv)
6ba07ce1 2380 __attribute__warn_unused_result__;
96c2a8ff
FC
2381#define PERL_ARGS_ASSERT_MG_FIND_MGLOB \
2382 assert(sv)
2383
ddeaf645 2384PERL_CALLCONV MAGIC* Perl_mg_findext(const SV* sv, int type, const MGVTBL *vtbl)
39de7f53 2385 __attribute__warn_unused_result__;
2015d234 2386#define PERL_ARGS_ASSERT_MG_FINDEXT
39de7f53 2387
6ba07ce1 2388PERL_CALLCONV int Perl_mg_free(pTHX_ SV* sv);
7918f24d
NC
2389#define PERL_ARGS_ASSERT_MG_FREE \
2390 assert(sv)
6ba07ce1 2391PERL_CALLCONV void Perl_mg_free_type(pTHX_ SV* sv, int how);
d9088386
Z
2392#define PERL_ARGS_ASSERT_MG_FREE_TYPE \
2393 assert(sv)
e0d4aead
TC
2394PERL_CALLCONV void Perl_mg_freeext(pTHX_ SV* sv, int how, const MGVTBL *vtbl);
2395#define PERL_ARGS_ASSERT_MG_FREEEXT \
2396 assert(sv)
6ba07ce1 2397PERL_CALLCONV int Perl_mg_get(pTHX_ SV* sv);
7918f24d
NC
2398#define PERL_ARGS_ASSERT_MG_GET \
2399 assert(sv)
9a957fbc 2400PERL_CALLCONV U32 Perl_mg_length(pTHX_ SV* sv)
6ba07ce1 2401 __attribute__deprecated__;
7918f24d
NC
2402#define PERL_ARGS_ASSERT_MG_LENGTH \
2403 assert(sv)
9a957fbc 2404
6ba07ce1 2405PERL_CALLCONV void Perl_mg_localize(pTHX_ SV* sv, SV* nsv, bool setmagic);
e8a67806
NC
2406#define PERL_ARGS_ASSERT_MG_LOCALIZE \
2407 assert(sv); assert(nsv)
6ba07ce1 2408PERL_CALLCONV void Perl_mg_magical(SV* sv);
7918f24d
NC
2409#define PERL_ARGS_ASSERT_MG_MAGICAL \
2410 assert(sv)
6ba07ce1 2411PERL_CALLCONV int Perl_mg_set(pTHX_ SV* sv);
7918f24d
NC
2412#define PERL_ARGS_ASSERT_MG_SET \
2413 assert(sv)
6ba07ce1 2414PERL_CALLCONV I32 Perl_mg_size(pTHX_ SV* sv);
7918f24d
NC
2415#define PERL_ARGS_ASSERT_MG_SIZE \
2416 assert(sv)
6ba07ce1 2417PERL_CALLCONV void Perl_mini_mktime(struct tm *ptm);
7918f24d
NC
2418#define PERL_ARGS_ASSERT_MINI_MKTIME \
2419 assert(ptm)
a79b25b7 2420PERL_CALLCONV int Perl_mode_from_discipline(pTHX_ const char* s, STRLEN len);
2015d234 2421#define PERL_ARGS_ASSERT_MODE_FROM_DISCIPLINE
e8a67806 2422PERL_CALLCONV void * Perl_more_bodies(pTHX_ const svtype sv_type, const size_t body_size, const size_t arena_size);
2015d234 2423#define PERL_ARGS_ASSERT_MORE_BODIES
6ba07ce1 2424PERL_CALLCONV const char* Perl_moreswitches(pTHX_ const char* s);
7918f24d
NC
2425#define PERL_ARGS_ASSERT_MORESWITCHES \
2426 assert(s)
6ba07ce1 2427PERL_CALLCONV const struct mro_alg * Perl_mro_get_from_name(pTHX_ SV *name);
e8a67806
NC
2428#define PERL_ARGS_ASSERT_MRO_GET_FROM_NAME \
2429 assert(name)
6ba07ce1 2430PERL_CALLCONV AV* Perl_mro_get_linear_isa(pTHX_ HV* stash);
e8a67806
NC
2431#define PERL_ARGS_ASSERT_MRO_GET_LINEAR_ISA \
2432 assert(stash)
6ba07ce1 2433PERL_CALLCONV SV* Perl_mro_get_private_data(pTHX_ struct mro_meta *const smeta, const struct mro_alg *const which);
e8a67806
NC
2434#define PERL_ARGS_ASSERT_MRO_GET_PRIVATE_DATA \
2435 assert(smeta); assert(which)
6ba07ce1 2436PERL_CALLCONV void Perl_mro_isa_changed_in(pTHX_ HV* stash);
4df35a07
FC
2437#define PERL_ARGS_ASSERT_MRO_ISA_CHANGED_IN \
2438 assert(stash)
6ba07ce1 2439PERL_CALLCONV struct mro_meta* Perl_mro_meta_init(pTHX_ HV* stash);
e8a67806
NC
2440#define PERL_ARGS_ASSERT_MRO_META_INIT \
2441 assert(stash)
6ba07ce1 2442PERL_CALLCONV void Perl_mro_method_changed_in(pTHX_ HV* stash);
e8a67806
NC
2443#define PERL_ARGS_ASSERT_MRO_METHOD_CHANGED_IN \
2444 assert(stash)
6ba07ce1 2445PERL_CALLCONV void Perl_mro_package_moved(pTHX_ HV * const stash, HV * const oldstash, const GV * const gv, U32 flags);
afdbe55d
FC
2446#define PERL_ARGS_ASSERT_MRO_PACKAGE_MOVED \
2447 assert(gv)
6ba07ce1 2448PERL_CALLCONV void Perl_mro_register(pTHX_ const struct mro_alg *mro);
e8a67806
NC
2449#define PERL_ARGS_ASSERT_MRO_REGISTER \
2450 assert(mro)
6ba07ce1 2451PERL_CALLCONV void Perl_mro_set_mro(pTHX_ struct mro_meta *const meta, SV *const name);
e8a67806
NC
2452#define PERL_ARGS_ASSERT_MRO_SET_MRO \
2453 assert(meta); assert(name)
6ba07ce1 2454PERL_CALLCONV SV* Perl_mro_set_private_data(pTHX_ struct mro_meta *const smeta, const struct mro_alg *const which, SV *const data);
e8a67806
NC
2455#define PERL_ARGS_ASSERT_MRO_SET_PRIVATE_DATA \
2456 assert(smeta); assert(which); assert(data)
e839e6ed
DM
2457PERL_CALLCONV SV* Perl_multiconcat_stringify(pTHX_ const OP* o);
2458#define PERL_ARGS_ASSERT_MULTICONCAT_STRINGIFY \
2459 assert(o)
6ba07ce1 2460PERL_CALLCONV SV* Perl_multideref_stringify(pTHX_ const OP* o, CV *cv);
48ee9c0e 2461#define PERL_ARGS_ASSERT_MULTIDEREF_STRINGIFY \
dc3c1c70 2462 assert(o)
6ba07ce1 2463PERL_CALLCONV NV Perl_my_atof(pTHX_ const char *s);
e8a67806
NC
2464#define PERL_ARGS_ASSERT_MY_ATOF \
2465 assert(s)
808ea3ad 2466PERL_CALLCONV char* Perl_my_atof2(pTHX_ const char *orig, NV* value);
e8a67806 2467#define PERL_ARGS_ASSERT_MY_ATOF2 \
808ea3ad 2468 assert(orig); assert(value)
6928bedc
KW
2469PERL_CALLCONV char* Perl_my_atof3(pTHX_ const char *orig, NV* value, const STRLEN len);
2470#define PERL_ARGS_ASSERT_MY_ATOF3 \
2471 assert(orig); assert(value)
6ba07ce1 2472PERL_CALLCONV OP * Perl_my_attrs(pTHX_ OP *o, OP *attrs);
e8a67806
NC
2473#define PERL_ARGS_ASSERT_MY_ATTRS \
2474 assert(o)
e8a67806 2475PERL_CALLCONV void Perl_my_clearenv(pTHX);
2015d234 2476#define PERL_ARGS_ASSERT_MY_CLEARENV
ddeaf645 2477PERL_CALLCONV int Perl_my_dirfd(DIR* dir);
2015d234 2478#define PERL_ARGS_ASSERT_MY_DIRFD
12a2785c 2479PERL_CALLCONV_NO_RET void Perl_my_exit(pTHX_ U32 status)
abb2c242 2480 __attribute__noreturn__;
2015d234 2481#define PERL_ARGS_ASSERT_MY_EXIT
f54cb97a 2482
12a2785c 2483PERL_CALLCONV_NO_RET void Perl_my_failure_exit(pTHX)
abb2c242 2484 __attribute__noreturn__;
2015d234 2485#define PERL_ARGS_ASSERT_MY_FAILURE_EXIT
f54cb97a 2486
1d7c1841 2487PERL_CALLCONV I32 Perl_my_fflush_all(pTHX);
2015d234 2488#define PERL_ARGS_ASSERT_MY_FFLUSH_ALL
52e18b1f 2489PERL_CALLCONV Pid_t Perl_my_fork(void);
2015d234 2490#define PERL_ARGS_ASSERT_MY_FORK
3f1866a8
KW
2491#ifndef NO_MATHOMS
2492PERL_CALLCONV I32 Perl_my_lstat(pTHX);
2015d234 2493#define PERL_ARGS_ASSERT_MY_LSTAT
3f1866a8 2494#endif
0d7d409d 2495PERL_CALLCONV I32 Perl_my_lstat_flags(pTHX_ const U32 flags);
2015d234 2496#define PERL_ARGS_ASSERT_MY_LSTAT_FLAGS
ae73d7ec
TC
2497PERL_CALLCONV int Perl_my_mkostemp_cloexec(char *templte, int flags)
2498 __attribute__warn_unused_result__;
2499#define PERL_ARGS_ASSERT_MY_MKOSTEMP_CLOEXEC \
2500 assert(templte)
2501
1cdb2692
Z
2502PERL_CALLCONV int Perl_my_mkstemp_cloexec(char *templte)
2503 __attribute__warn_unused_result__;
2504#define PERL_ARGS_ASSERT_MY_MKSTEMP_CLOEXEC \
2505 assert(templte)
2506
6ba07ce1 2507PERL_CALLCONV PerlIO* Perl_my_popen_list(pTHX_ const char* mode, int n, SV ** args);
7918f24d
NC
2508#define PERL_ARGS_ASSERT_MY_POPEN_LIST \
2509 assert(mode); assert(args)
e1ec3a88 2510PERL_CALLCONV void Perl_my_setenv(pTHX_ const char* nam, const char* val);
2015d234 2511#define PERL_ARGS_ASSERT_MY_SETENV
e8a67806 2512PERL_CALLCONV int Perl_my_snprintf(char *buffer, const Size_t len, const char *format, ...)
6ba07ce1 2513 __attribute__format__(__printf__,3,4);
e8a67806
NC
2514#define PERL_ARGS_ASSERT_MY_SNPRINTF \
2515 assert(buffer); assert(format)
2516
2517PERL_CALLCONV int Perl_my_socketpair(int family, int type, int protocol, int fd[2]);
2015d234 2518#define PERL_ARGS_ASSERT_MY_SOCKETPAIR
3f1866a8
KW
2519#ifndef NO_MATHOMS
2520PERL_CALLCONV I32 Perl_my_stat(pTHX);
2015d234 2521#define PERL_ARGS_ASSERT_MY_STAT
3f1866a8 2522#endif
0d7d409d 2523PERL_CALLCONV I32 Perl_my_stat_flags(pTHX_ const U32 flags);
2015d234 2524#define PERL_ARGS_ASSERT_MY_STAT_FLAGS
2c6ee1a7 2525PERL_CALLCONV char* Perl_my_strerror(pTHX_ const int errnum);
2015d234 2526#define PERL_ARGS_ASSERT_MY_STRERROR
bfce84ec 2527PERL_CALLCONV char * Perl_my_strftime(pTHX_ const char *fmt, int sec, int min, int hour, int mday, int mon, int year, int wday, int yday, int isdst)
6ba07ce1 2528 __attribute__format__(__strftime__,pTHX_1,0);
7918f24d
NC
2529#define PERL_ARGS_ASSERT_MY_STRFTIME \
2530 assert(fmt)
bfce84ec 2531
9ec8aea5
KW
2532PERL_CALLCONV NV Perl_my_strtod(const char * const s, char ** e)
2533 __attribute__warn_unused_result__;
2534#define PERL_ARGS_ASSERT_MY_STRTOD \
2535 assert(s)
2536
e8a67806 2537PERL_CALLCONV void Perl_my_unexec(pTHX);
2015d234 2538#define PERL_ARGS_ASSERT_MY_UNEXEC
6ba07ce1 2539PERL_CALLCONV int Perl_my_vsnprintf(char *buffer, const Size_t len, const char *format, va_list ap);
e8a67806
NC
2540#define PERL_ARGS_ASSERT_MY_VSNPRINTF \
2541 assert(buffer); assert(format)
e8a67806 2542PERL_CALLCONV OP* Perl_newANONATTRSUB(pTHX_ I32 floor, OP *proto, OP *attrs, OP *block);
2015d234 2543#define PERL_ARGS_ASSERT_NEWANONATTRSUB
e8a67806 2544PERL_CALLCONV OP* Perl_newANONHASH(pTHX_ OP* o)
e8a67806 2545 __attribute__warn_unused_result__;
2015d234 2546#define PERL_ARGS_ASSERT_NEWANONHASH
f54cb97a 2547
f54cb97a 2548PERL_CALLCONV OP* Perl_newANONLIST(pTHX_ OP* o)
abb2c242 2549 __attribute__warn_unused_result__;
2015d234 2550#define PERL_ARGS_ASSERT_NEWANONLIST
f54cb97a 2551
e8a67806 2552PERL_CALLCONV OP* Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block);
2015d234 2553#define PERL_ARGS_ASSERT_NEWANONSUB
e8a67806 2554PERL_CALLCONV OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right)
abb2c242 2555 __attribute__warn_unused_result__;
2015d234 2556#define PERL_ARGS_ASSERT_NEWASSIGNOP
f54cb97a 2557
e8f91c91 2558/* PERL_CALLCONV CV* newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block); */
2015d234 2559#define PERL_ARGS_ASSERT_NEWATTRSUB
e8f91c91 2560PERL_CALLCONV CV* Perl_newATTRSUB_x(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block, bool o_is_gv);
2015d234 2561#define PERL_ARGS_ASSERT_NEWATTRSUB_X
3f1866a8
KW
2562#ifndef NO_MATHOMS
2563PERL_CALLCONV AV* Perl_newAV(pTHX)
2564 __attribute__warn_unused_result__;
2015d234 2565#define PERL_ARGS_ASSERT_NEWAV
3f1866a8 2566#endif
e8a67806
NC
2567
2568PERL_CALLCONV OP* Perl_newAVREF(pTHX_ OP* o)
6ba07ce1 2569 __attribute__warn_unused_result__;
e8a67806
NC
2570#define PERL_ARGS_ASSERT_NEWAVREF \
2571 assert(o)
2572
2573PERL_CALLCONV OP* Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last)
abb2c242 2574 __attribute__warn_unused_result__;
2015d234 2575#define PERL_ARGS_ASSERT_NEWBINOP
f54cb97a 2576
aec46f14 2577PERL_CALLCONV OP* Perl_newCONDOP(pTHX_ I32 flags, OP* first, OP* trueop, OP* falseop)
6ba07ce1 2578 __attribute__warn_unused_result__;
7918f24d
NC
2579#define PERL_ARGS_ASSERT_NEWCONDOP \
2580 assert(first)
aec46f14 2581
99ab892b 2582PERL_CALLCONV CV* Perl_newCONSTSUB(pTHX_ HV* stash, const char* name, SV* sv);
2015d234 2583#define PERL_ARGS_ASSERT_NEWCONSTSUB
9c0a6090 2584PERL_CALLCONV CV* Perl_newCONSTSUB_flags(pTHX_ HV* stash, const char* name, STRLEN len, U32 flags, SV* sv);
2015d234 2585#define PERL_ARGS_ASSERT_NEWCONSTSUB_FLAGS
e8a67806 2586PERL_CALLCONV OP* Perl_newCVREF(pTHX_ I32 flags, OP* o)
e8a67806 2587 __attribute__warn_unused_result__;
2015d234 2588#define PERL_ARGS_ASSERT_NEWCVREF
e8a67806 2589
ce409cc8
LM
2590PERL_CALLCONV OP* Perl_newDEFSVOP(pTHX)
2591 __attribute__warn_unused_result__;
2015d234 2592#define PERL_ARGS_ASSERT_NEWDEFSVOP
ce409cc8 2593
b5bbe64a 2594PERL_CALLCONV void Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
2015d234 2595#define PERL_ARGS_ASSERT_NEWFORM
94bf0465 2596PERL_CALLCONV OP* Perl_newFOROP(pTHX_ I32 flags, OP* sv, OP* expr, OP* block, OP* cont)
6ba07ce1 2597 __attribute__warn_unused_result__;
7918f24d
NC
2598#define PERL_ARGS_ASSERT_NEWFOROP \
2599 assert(expr)
f54cb97a 2600
7896dde7 2601PERL_CALLCONV OP* Perl_newGIVENOP(pTHX_ OP* cond, OP* block, PADOFFSET defsv_off)
6ba07ce1 2602 __attribute__warn_unused_result__;
7918f24d 2603#define PERL_ARGS_ASSERT_NEWGIVENOP \
7896dde7 2604 assert(cond); assert(block)
0d863452 2605
6ba07ce1 2606PERL_CALLCONV GP * Perl_newGP(pTHX_ GV *const gv);
e8a67806
NC
2607#define PERL_ARGS_ASSERT_NEWGP \
2608 assert(gv)
e8a67806 2609PERL_CALLCONV OP* Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv)
6ba07ce1 2610 __attribute__warn_unused_result__;
e8a67806
NC
2611#define PERL_ARGS_ASSERT_NEWGVOP \
2612 assert(gv)
2613
2614PERL_CALLCONV OP* Perl_newGVREF(pTHX_ I32 type, OP* o)
e8a67806 2615 __attribute__warn_unused_result__;
2015d234 2616#define PERL_ARGS_ASSERT_NEWGVREF
e8a67806 2617
6ba07ce1 2618/* PERL_CALLCONV GV* newGVgen(pTHX_ const char* pack); */
2015d234 2619#define PERL_ARGS_ASSERT_NEWGVGEN
9cc50d5b 2620PERL_CALLCONV GV* Perl_newGVgen_flags(pTHX_ const char* pack, U32 flags)
6ba07ce1 2621 __attribute__warn_unused_result__;
9cc50d5b 2622#define PERL_ARGS_ASSERT_NEWGVGEN_FLAGS \
e8a67806
NC
2623 assert(pack)
2624
3f1866a8
KW
2625#ifndef NO_MATHOMS
2626PERL_CALLCONV HV* Perl_newHV(pTHX)
2627 __attribute__warn_unused_result__;
2015d234 2628#define PERL_ARGS_ASSERT_NEWHV
3f1866a8 2629#endif
e8a67806
NC
2630
2631PERL_CALLCONV OP* Perl_newHVREF(pTHX_ OP* o)
6ba07ce1 2632 __attribute__warn_unused_result__;
e8a67806
NC
2633#define PERL_ARGS_ASSERT_NEWHVREF \
2634 assert(o)
2635
2636PERL_CALLCONV HV* Perl_newHVhv(pTHX_ HV *hv)
e8a67806 2637 __attribute__warn_unused_result__;
2015d234 2638#define PERL_ARGS_ASSERT_NEWHVHV
e8a67806 2639
3f1866a8
KW
2640#ifndef NO_MATHOMS
2641PERL_CALLCONV IO* Perl_newIO(pTHX)
3f1866a8 2642 __attribute__warn_unused_result__;
2015d234 2643#define PERL_ARGS_ASSERT_NEWIO
3f1866a8 2644#endif
e8a67806
NC
2645
2646PERL_CALLCONV OP* Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last)
e8a67806 2647 __attribute__warn_unused_result__;
2015d234 2648#define PERL_ARGS_ASSERT_NEWLISTOP
e8a67806 2649
4048f010 2650PERL_CALLCONV OP* Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP *first, OP *other)
6ba07ce1 2651 __attribute__warn_unused_result__;
7918f24d
NC
2652#define PERL_ARGS_ASSERT_NEWLOGOP \
2653 assert(first); assert(other)
f54cb97a
AL
2654
2655PERL_CALLCONV OP* Perl_newLOOPEX(pTHX_ I32 type, OP* label)
6ba07ce1 2656 __attribute__warn_unused_result__;
7918f24d
NC
2657#define PERL_ARGS_ASSERT_NEWLOOPEX \
2658 assert(label)
f54cb97a
AL
2659
2660PERL_CALLCONV OP* Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block)
abb2c242 2661 __attribute__warn_unused_result__;
2015d234 2662#define PERL_ARGS_ASSERT_NEWLOOPOP
f54cb97a 2663
b46e009d 2664PERL_CALLCONV OP* Perl_newMETHOP(pTHX_ I32 type, I32 flags, OP* dynamic_meth)
6ba07ce1 2665 __attribute__warn_unused_result__;
b46e009d 2666#define PERL_ARGS_ASSERT_NEWMETHOP \
2667 assert(dynamic_meth)
2668
2669PERL_CALLCONV OP* Perl_newMETHOP_named(pTHX_ I32 type, I32 flags, SV* const_meth)
6ba07ce1 2670 __attribute__warn_unused_result__;
b46e009d 2671#define PERL_ARGS_ASSERT_NEWMETHOP_NAMED \
2672 assert(const_meth)
2673
6ba07ce1 2674PERL_CALLCONV CV * Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
50278755
FC
2675#define PERL_ARGS_ASSERT_NEWMYSUB \
2676 assert(o)
4373e329 2677PERL_CALLCONV OP* Perl_newNULLLIST(pTHX)
abb2c242 2678 __attribute__warn_unused_result__;
2015d234 2679#define PERL_ARGS_ASSERT_NEWNULLLIST
f54cb97a
AL
2680
2681PERL_CALLCONV OP* Perl_newOP(pTHX_ I32 optype, I32 flags)
abb2c242 2682 __attribute__warn_unused_result__;
2015d234 2683#define PERL_ARGS_ASSERT_NEWOP
f54cb97a 2684
a0e9f837 2685PERL_CALLCONV PADNAMELIST * Perl_newPADNAMELIST(size_t max)
9b7476d7 2686 __attribute__warn_unused_result__;
2015d234 2687#define PERL_ARGS_ASSERT_NEWPADNAMELIST
9b7476d7 2688
a0e9f837 2689PERL_CALLCONV PADNAME * Perl_newPADNAMEouter(PADNAME *outer)
6ba07ce1 2690 __attribute__warn_unused_result__;
0f94cb1f
FC
2691#define PERL_ARGS_ASSERT_NEWPADNAMEOUTER \
2692 assert(outer)
2693
a0e9f837 2694PERL_CALLCONV PADNAME * Perl_newPADNAMEpvn(const char *s, STRLEN len)
6ba07ce1 2695 __attribute__warn_unused_result__;
0f94cb1f
FC
2696#define PERL_ARGS_ASSERT_NEWPADNAMEPVN \
2697 assert(s)
2698
e8a67806 2699PERL_CALLCONV OP* Perl_newPMOP(pTHX_ I32 type, I32 flags)
e8a67806 2700 __attribute__warn_unused_result__;
2015d234 2701#define PERL_ARGS_ASSERT_NEWPMOP
e8a67806 2702
6ba07ce1 2703PERL_CALLCONV void Perl_newPROG(pTHX_ OP* o);
7918f24d
NC
2704#define PERL_ARGS_ASSERT_NEWPROG \
2705 assert(o)
e8a67806 2706PERL_CALLCONV OP* Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv)
e8a67806 2707 __attribute__warn_unused_result__;
2015d234 2708#define PERL_ARGS_ASSERT_NEWPVOP
e8a67806 2709
f54cb97a 2710PERL_CALLCONV OP* Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right)
6ba07ce1 2711 __attribute__warn_unused_result__;
7918f24d
NC
2712#define PERL_ARGS_ASSERT_NEWRANGE \
2713 assert(left); assert(right)
f54cb97a 2714
e8a67806 2715PERL_CALLCONV SV* Perl_newRV(pTHX_ SV *const sv)
6ba07ce1 2716 __attribute__warn_unused_result__;
e8a67806
NC
2717#define PERL_ARGS_ASSERT_NEWRV \
2718 assert(sv)
2719
38ee6910 2720PERL_CALLCONV SV* Perl_newRV_noinc(pTHX_ SV *const tmpRef)
6ba07ce1 2721 __attribute__warn_unused_result__;
e8a67806 2722#define PERL_ARGS_ASSERT_NEWRV_NOINC \
38ee6910 2723 assert(tmpRef)
e8a67806 2724
f54cb97a 2725PERL_CALLCONV OP* Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop)
abb2c242 2726 __attribute__warn_unused_result__;
2015d234 2727#define PERL_ARGS_ASSERT_NEWSLICEOP
f54cb97a
AL
2728
2729PERL_CALLCONV OP* Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o)
abb2c242 2730 __attribute__warn_unused_result__;
2015d234 2731#define PERL_ARGS_ASSERT_NEWSTATEOP
f54cb97a 2732
6ba07ce1 2733PERL_CALLCONV CV* Perl_newSTUB(pTHX_ GV *gv, bool fake);
186a5ba8
FC
2734#define PERL_ARGS_ASSERT_NEWSTUB \
2735 assert(gv)
3f1866a8
KW
2736#ifndef NO_MATHOMS
2737PERL_CALLCONV CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block);
2015d234 2738#define PERL_ARGS_ASSERT_NEWSUB
3f1866a8 2739#endif
e8a67806 2740PERL_CALLCONV SV* Perl_newSV(pTHX_ const STRLEN len)
e8a67806 2741 __attribute__warn_unused_result__;
2015d234 2742#define PERL_ARGS_ASSERT_NEWSV
77004dee 2743
e8a67806 2744PERL_CALLCONV OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv)
6ba07ce1 2745 __attribute__warn_unused_result__;
e8a67806
NC
2746#define PERL_ARGS_ASSERT_NEWSVOP \
2747 assert(sv)
f54cb97a 2748
e8a67806 2749PERL_CALLCONV OP* Perl_newSVREF(pTHX_ OP* o)
6ba07ce1 2750 __attribute__warn_unused_result__;
e8a67806 2751#define PERL_ARGS_ASSERT_NEWSVREF \
7918f24d 2752 assert(o)
f54cb97a 2753
e8a67806 2754PERL_CALLCONV SV* Perl_newSV_type(pTHX_ const svtype type)
abb2c242 2755 __attribute__warn_unused_result__;
2015d234 2756#define PERL_ARGS_ASSERT_NEWSV_TYPE
f54cb97a 2757
199f858d 2758PERL_CALLCONV SV* Perl_newSVavdefelem(pTHX_ AV *av, SSize_t ix, bool extendible)
6ba07ce1 2759 __attribute__warn_unused_result__;
199f858d
FC
2760#define PERL_ARGS_ASSERT_NEWSVAVDEFELEM \
2761 assert(av)
2762
e8a67806 2763PERL_CALLCONV SV* Perl_newSVhek(pTHX_ const HEK *const hek)
abb2c242 2764 __attribute__warn_unused_result__;
2015d234 2765#define PERL_ARGS_ASSERT_NEWSVHEK
f54cb97a 2766
e8a67806 2767PERL_CALLCONV SV* Perl_newSViv(pTHX_ const IV i)
e8a67806 2768 __attribute__warn_unused_result__;
2015d234 2769#define PERL_ARGS_ASSERT_NEWSVIV
f54cb97a 2770
e8a67806 2771PERL_CALLCONV SV* Perl_newSVnv(pTHX_ const NV n)
abb2c242 2772 __attribute__warn_unused_result__;
2015d234 2773#define PERL_ARGS_ASSERT_NEWSVNV
f54cb97a 2774
e8a67806 2775PERL_CALLCONV SV* Perl_newSVpv(pTHX_ const char *const s, const STRLEN len)
abb2c242 2776 __attribute__warn_unused_result__;
2015d234 2777#define PERL_ARGS_ASSERT_NEWSVPV
f54cb97a 2778
e8a67806 2779PERL_CALLCONV SV* Perl_newSVpv_share(pTHX_ const char* s, U32 hash)
abb2c242 2780 __attribute__warn_unused_result__;
2015d234 2781#define PERL_ARGS_ASSERT_NEWSVPV_SHARE
f54cb97a 2782
e8a67806 2783PERL_CALLCONV SV* Perl_newSVpvf(pTHX_ const char *const pat, ...)
abb2c242 2784 __attribute__warn_unused_result__
6ba07ce1 2785 __attribute__format__(__printf__,pTHX_1,pTHX_2);
e8a67806
NC
2786#define PERL_ARGS_ASSERT_NEWSVPVF \
2787 assert(pat)
f54cb97a 2788
a5ba2527 2789PERL_CALLCONV SV* Perl_newSVpvn(pTHX_ const char *const buffer, const STRLEN len)
abb2c242 2790 __attribute__warn_unused_result__;
2015d234 2791#define PERL_ARGS_ASSERT_NEWSVPVN
f54cb97a 2792
23f13727 2793PERL_CALLCONV SV* Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags)
740cce10 2794 __attribute__warn_unused_result__;
2015d234 2795#define PERL_ARGS_ASSERT_NEWSVPVN_FLAGS
740cce10 2796
f54cb97a 2797PERL_CALLCONV SV* Perl_newSVpvn_share(pTHX_ const char* s, I32 len, U32 hash)
abb2c242 2798 __attribute__warn_unused_result__;
2015d234 2799#define PERL_ARGS_ASSERT_NEWSVPVN_SHARE
f54cb97a 2800
6ba07ce1 2801PERL_CALLCONV SV* Perl_newSVrv(pTHX_ SV *const rv, const char *const classname);
7918f24d
NC
2802#define PERL_ARGS_ASSERT_NEWSVRV \
2803 assert(rv)
238f2c13 2804#ifndef NO_MATHOMS
23f13727 2805PERL_CALLCONV SV* Perl_newSVsv(pTHX_ SV *const old)
abb2c242 2806 __attribute__warn_unused_result__;
2015d234 2807#define PERL_ARGS_ASSERT_NEWSVSV
238f2c13
P
2808#endif
2809
2810PERL_CALLCONV SV* Perl_newSVsv_flags(pTHX_ SV *const old, I32 flags)
2811 __attribute__warn_unused_result__;
2015d234 2812#define PERL_ARGS_ASSERT_NEWSVSV_FLAGS
238f2c13 2813
ef9e3b4d 2814/* PERL_CALLCONV SV* newSVsv_nomg(pTHX_ SV *const old)
238f2c13 2815 __attribute__warn_unused_result__; */
2015d234 2816#define PERL_ARGS_ASSERT_NEWSVSV_NOMG
f54cb97a 2817
e8a67806 2818PERL_CALLCONV SV* Perl_newSVuv(pTHX_ const UV u)
b9f83d2f 2819 __attribute__warn_unused_result__;
2015d234 2820#define PERL_ARGS_ASSERT_NEWSVUV
b9f83d2f 2821
f54cb97a 2822PERL_CALLCONV OP* Perl_newUNOP(pTHX_ I32 type, I32 flags, OP* first)
abb2c242 2823 __attribute__warn_unused_result__;
2015d234 2824#define PERL_ARGS_ASSERT_NEWUNOP
f54cb97a 2825
2f7c6295 2826PERL_CALLCONV OP* Perl_newUNOP_AUX(pTHX_ I32 type, I32 flags, OP* first, UNOP_AUX_item *aux)
2f7c6295 2827 __attribute__warn_unused_result__;
2015d234 2828#define PERL_ARGS_ASSERT_NEWUNOP_AUX
2f7c6295 2829
7896dde7 2830PERL_CALLCONV OP* Perl_newWHENOP(pTHX_ OP* cond, OP* block)
6ba07ce1 2831 __attribute__warn_unused_result__;
7896dde7
Z
2832#define PERL_ARGS_ASSERT_NEWWHENOP \
2833 assert(block)
0d863452 2834
94bf0465 2835PERL_CALLCONV OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, OP* expr, OP* block, OP* cont, I32 has_my)
abb2c242 2836 __attribute__warn_unused_result__;
2015d234 2837#define PERL_ARGS_ASSERT_NEWWHILEOP
f54cb97a 2838
6ba07ce1 2839PERL_CALLCONV CV* Perl_newXS(pTHX_ const char *name, XSUBADDR_t subaddr, const char *filename);
e8a67806
NC
2840#define PERL_ARGS_ASSERT_NEWXS \
2841 assert(subaddr); assert(filename)
6ba07ce1 2842PERL_CALLCONV CV * Perl_newXS_deffile(pTHX_ const char *name, XSUBADDR_t subaddr);
9a189793
DD
2843#define PERL_ARGS_ASSERT_NEWXS_DEFFILE \
2844 assert(name); assert(subaddr)
6ba07ce1 2845PERL_CALLCONV CV * Perl_newXS_flags(pTHX_ const char *name, XSUBADDR_t subaddr, const char *const filename, const char *const proto, U32 flags);
e8a67806
NC
2846#define PERL_ARGS_ASSERT_NEWXS_FLAGS \
2847 assert(subaddr); assert(filename)
6ba07ce1 2848PERL_CALLCONV CV * Perl_newXS_len_flags(pTHX_ const char *name, STRLEN len, XSUBADDR_t subaddr, const char *const filename, const char *const proto, SV **const_svp, U32 flags);
032a0447 2849#define PERL_ARGS_ASSERT_NEWXS_LEN_FLAGS \
9a189793 2850 assert(subaddr)
e8a67806 2851PERL_CALLCONV PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems)
e8a67806 2852 __attribute__warn_unused_result__;
2015d234 2853#define PERL_ARGS_ASSERT_NEW_STACKINFO
91152fc1 2854
6ba07ce1 2855PERL_CALLCONV SV* Perl_new_version(pTHX_ SV *ver);
7918f24d
NC
2856#define PERL_ARGS_ASSERT_NEW_VERSION \
2857 assert(ver)
e8a67806 2858PERL_CALLCONV STRLEN * Perl_new_warnings_bitfield(pTHX_ STRLEN *buffer, const char *const bits, STRLEN size)
6ba07ce1 2859 __attribute__warn_unused_result__;
e8a67806
NC
2860#define PERL_ARGS_ASSERT_NEW_WARNINGS_BITFIELD \
2861 assert(bits)
f54cb97a 2862
6ba07ce1 2863PERL_CALLCONV PerlIO* Perl_nextargv(pTHX_ GV* gv, bool nomagicopen);
7918f24d
NC
2864#define PERL_ARGS_ASSERT_NEXTARGV \
2865 assert(gv)
54c193ae
KW
2866PERL_CALLCONV char* Perl_ninstr(const char* big, const char* bigend, const char* little, const char* lend)
2867 __attribute__warn_unused_result__
2868 __attribute__pure__;
2869#define PERL_ARGS_ASSERT_NINSTR \
2870 assert(big); assert(bigend); assert(little); assert(lend)
2871
db6e00bd
DD
2872PERL_CALLCONV_NO_RET void Perl_noperl_die(const char* pat, ...)
2873 __attribute__noreturn__
6ba07ce1 2874 __attribute__format__(__printf__,1,2);
db6e00bd
DD
2875#define PERL_ARGS_ASSERT_NOPERL_DIE \
2876 assert(pat)
2877
e8a67806 2878PERL_CALLCONV int Perl_nothreadhook(pTHX);
2015d234 2879#define PERL_ARGS_ASSERT_NOTHREADHOOK
efa571ab 2880PERL_CALLCONV void Perl_notify_parser_that_changed_to_utf8(pTHX);
2015d234 2881#define PERL_ARGS_ASSERT_NOTIFY_PARSER_THAT_CHANGED_TO_UTF8
e8a67806 2882PERL_CALLCONV OP* Perl_oopsAV(pTHX_ OP* o)
6ba07ce1 2883 __attribute__warn_unused_result__;
e8a67806 2884#define PERL_ARGS_ASSERT_OOPSAV \
7918f24d 2885 assert(o)
eb8433b7 2886
e8a67806 2887PERL_CALLCONV OP* Perl_oopsHV(pTHX_ OP* o)
6ba07ce1 2888 __attribute__warn_unused_result__;
e8a67806 2889#define PERL_ARGS_ASSERT_OOPSHV \
7918f24d 2890 assert(o)
f54cb97a 2891
2fcb4757 2892PERL_CALLCONV OP* Perl_op_append_elem(pTHX_ I32 optype, OP* first, OP* last);
2015d234 2893#define PERL_ARGS_ASSERT_OP_APPEND_ELEM
2fcb4757 2894PERL_CALLCONV OP* Perl_op_append_list(pTHX_ I32 optype, OP* first, OP* last);
2015d234 2895#define PERL_ARGS_ASSERT_OP_APPEND_LIST
1e85b658 2896PERL_CALLCONV OPclass Perl_op_class(pTHX_ const OP *o);
2015d234 2897#define PERL_ARGS_ASSERT_OP_CLASS
6ba07ce1 2898PERL_CALLCONV void Perl_op_clear(pTHX_ OP* o);
e8a67806
NC
2899#define PERL_ARGS_ASSERT_OP_CLEAR \
2900 assert(o)
6ba07ce1 2901PERL_CALLCONV OP* Perl_op_contextualize(pTHX_ OP* o, I32 context);
d9088386
Z
2902#define PERL_ARGS_ASSERT_OP_CONTEXTUALIZE \
2903 assert(o)
03d05f6e
LM
2904PERL_CALLCONV OP* Perl_op_convert_list(pTHX_ I32 optype, I32 flags, OP* o)
2905 __attribute__warn_unused_result__;
2015d234 2906#define PERL_ARGS_ASSERT_OP_CONVERT_LIST
03d05f6e 2907
6ba07ce1 2908PERL_CALLCONV void Perl_op_dump(pTHX_ const OP *o);
e8a67806
NC
2909#define PERL_ARGS_ASSERT_OP_DUMP \
2910 assert(o)
e8a67806 2911PERL_CALLCONV void Perl_op_free(pTHX_ OP* arg);
2015d234 2912#define PERL_ARGS_ASSERT_OP_FREE
6ba07ce1 2913PERL_CALLCONV OP* Perl_op_linklist(pTHX_ OP *o);
5983a79d
BM
2914#define PERL_ARGS_ASSERT_OP_LINKLIST \
2915 assert(o)
d3d7d28f 2916/* PERL_CALLCONV OP* op_lvalue(pTHX_ OP* o, I32 type); */
2015d234 2917#define PERL_ARGS_ASSERT_OP_LVALUE
d3d7d28f 2918PERL_CALLCONV OP* Perl_op_lvalue_flags(pTHX_ OP* o, I32 type, U32 flags);
2015d234 2919#define PERL_ARGS_ASSERT_OP_LVALUE_FLAGS
6ba07ce1 2920PERL_CALLCONV void Perl_op_null(pTHX_ OP* o);
e8a67806
NC
2921#define PERL_ARGS_ASSERT_OP_NULL \
2922 assert(o)
0f9a6232
TC
2923PERL_CALLCONV OP* Perl_op_parent(OP *o);
2924#define PERL_ARGS_ASSERT_OP_PARENT \
2925 assert(o)
2fcb4757 2926PERL_CALLCONV OP* Perl_op_prepend_elem(pTHX_ I32 optype, OP* first, OP* last);
2015d234 2927#define PERL_ARGS_ASSERT_OP_PREPEND_ELEM
e8a67806 2928PERL_CALLCONV void Perl_op_refcnt_lock(pTHX);
2015d234 2929#define PERL_ARGS_ASSERT_OP_REFCNT_LOCK
e8a67806 2930PERL_CALLCONV void Perl_op_refcnt_unlock(pTHX);
2015d234 2931#define PERL_ARGS_ASSERT_OP_REFCNT_UNLOCK
3ad73efd 2932PERL_CALLCONV OP* Perl_op_scope(pTHX_ OP* o);
2015d234 2933#define PERL_ARGS_ASSERT_OP_SCOPE
3269ea41 2934PERL_CALLCONV OP* Perl_op_sibling_splice(OP *parent, OP *start, int del_count, OP* insert);
2015d234 2935#define PERL_ARGS_ASSERT_OP_SIBLING_SPLICE
705fe0e5 2936PERL_CALLCONV OP* Perl_op_unscope(pTHX_ OP* o);
2015d234 2937#define PERL_ARGS_ASSERT_OP_UNSCOPE
d2905138
DM
2938PERL_CALLCONV void Perl_optimize_optree(pTHX_ OP* o);
2939#define PERL_ARGS_ASSERT_OPTIMIZE_OPTREE \
2940 assert(o)
1545ba5b 2941#ifndef NO_MATHOMS
6ba07ce1 2942PERL_CALLCONV void Perl_pack_cat(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist, SV ***next_in_list, U32 flags);
e8a67806
NC
2943#define PERL_ARGS_ASSERT_PACK_CAT \
2944 assert(cat); assert(pat); assert(patend); assert(beglist); assert(endlist); assert(next_in_list)
1545ba5b 2945#endif
6ba07ce1 2946PERL_CALLCONV void Perl_package(pTHX_ OP* o);
b5bbe64a
JH
2947#define PERL_ARGS_ASSERT_PACKAGE \
2948 assert(o)
6ba07ce1 2949PERL_CALLCONV void Perl_package_version(pTHX_ OP* v);
6fa4d285
DG
2950#define PERL_ARGS_ASSERT_PACKAGE_VERSION \
2951 assert(v)
6ba07ce1 2952PERL_CALLCONV void Perl_packlist(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist);
e8a67806
NC
2953#define PERL_ARGS_ASSERT_PACKLIST \
2954 assert(cat); assert(pat); assert(patend); assert(beglist); assert(endlist)
6ba07ce1 2955PERL_CALLCONV PADOFFSET Perl_pad_add_anon(pTHX_ CV* func, I32 optype);
e8a67806 2956#define PERL_ARGS_ASSERT_PAD_ADD_ANON \
cc76b5cc 2957 assert(func)
6ba07ce1 2958PERL_CALLCONV PADOFFSET Perl_pad_add_name_pv(pTHX_ const char *name, const U32 flags, HV *typestash, HV *ourstash);
cc76b5cc
Z
2959#define PERL_ARGS_ASSERT_PAD_ADD_NAME_PV \
2960 assert(name)
6ba07ce1 2961PERL_CALLCONV PADOFFSET Perl_pad_add_name_pvn(pTHX_ const char *namepv, STRLEN namelen, U32 flags, HV *typestash, HV *ourstash);
cc76b5cc
Z
2962#define PERL_ARGS_ASSERT_PAD_ADD_NAME_PVN \
2963 assert(namepv)
6ba07ce1 2964PERL_CALLCONV PADOFFSET Perl_pad_add_name_sv(pTHX_ SV *name, U32 flags, HV *typestash, HV *ourstash);
cc76b5cc 2965#define PERL_ARGS_ASSERT_PAD_ADD_NAME_SV \
7918f24d 2966 assert(name)
6ba07ce1 2967PERL_CALLCONV void Perl_pad_add_weakref(pTHX_ CV* func);
a70f21d0
FC
2968#define PERL_ARGS_ASSERT_PAD_ADD_WEAKREF \
2969 assert(func)
e8a67806 2970PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
2015d234 2971#define PERL_ARGS_ASSERT_PAD_ALLOC
e8a67806 2972PERL_CALLCONV void Perl_pad_block_start(pTHX_ int full);
2015d234 2973#define PERL_ARGS_ASSERT_PAD_BLOCK_START
3f1866a8 2974#ifndef NO_MATHOMS
e8a67806
NC
2975PERL_CALLCONV HV* Perl_pad_compname_type(pTHX_ const PADOFFSET po)
2976 __attribute__warn_unused_result__;
2015d234 2977#define PERL_ARGS_ASSERT_PAD_COMPNAME_TYPE
3f1866a8 2978#endif
e8a67806 2979
6ba07ce1 2980PERL_CALLCONV PADOFFSET Perl_pad_findmy_pv(pTHX_ const char* name, U32 flags);
cc76b5cc
Z
2981#define PERL_ARGS_ASSERT_PAD_FINDMY_PV \
2982 assert(name)
6ba07ce1 2983PERL_CALLCONV PADOFFSET Perl_pad_findmy_pvn(pTHX_ const char* namepv, STRLEN namelen, U32 flags);
cc76b5cc
Z
2984#define PERL_ARGS_ASSERT_PAD_FINDMY_PVN \
2985 assert(namepv)
6ba07ce1 2986PERL_CALLCONV PADOFFSET Perl_pad_findmy_sv(pTHX_ SV* name, U32 flags);
cc76b5cc 2987#define PERL_ARGS_ASSERT_PAD_FINDMY_SV \
7918f24d 2988 assert(name)
6ba07ce1 2989PERL_CALLCONV void Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv, CV *new_cv);
e8a67806
NC
2990#define PERL_ARGS_ASSERT_PAD_FIXUP_INNER_ANONS \
2991 assert(padlist); assert(old_cv); assert(new_cv)
e8a67806 2992PERL_CALLCONV void Perl_pad_free(pTHX_ PADOFFSET po);
2015d234 2993#define PERL_ARGS_ASSERT_PAD_FREE
6d5c2147 2994PERL_CALLCONV OP * Perl_pad_leavemy(pTHX);
2015d234 2995#define PERL_ARGS_ASSERT_PAD_LEAVEMY
e8a67806 2996PERL_CALLCONV PADLIST* Perl_pad_new(pTHX_ int flags)
e8a67806 2997 __attribute__warn_unused_result__;
2015d234 2998#define PERL_ARGS_ASSERT_PAD_NEW
f54cb97a 2999
6ba07ce1 3000PERL_CALLCONV void Perl_pad_push(pTHX_ PADLIST *padlist, int depth);
e8a67806
NC
3001#define PERL_ARGS_ASSERT_PAD_PUSH \
3002 assert(padlist)
e8a67806 3003PERL_CALLCONV void Perl_pad_swipe(pTHX_ PADOFFSET po, bool refadjust);
2015d234 3004#define PERL_ARGS_ASSERT_PAD_SWIPE
e8a67806 3005PERL_CALLCONV void Perl_pad_tidy(pTHX_ padtidy_type type);
2015d234 3006#define PERL_ARGS_ASSERT_PAD_TIDY
6ba07ce1 3007PERL_CALLCONV PAD ** Perl_padlist_store(pTHX_ PADLIST *padlist, I32 key, PAD *val);
7261499d
FC
3008#define PERL_ARGS_ASSERT_PADLIST_STORE \
3009 assert(padlist)
6ba07ce1 3010PERL_CALLCONV void Perl_padname_free(pTHX_ PADNAME *pn);
0f94cb1f
FC
3011#define PERL_ARGS_ASSERT_PADNAME_FREE \
3012 assert(pn)
a0e9f837 3013PERL_CALLCONV PADNAME * Perl_padnamelist_fetch(PADNAMELIST *pnl, SSize_t key)
6ba07ce1 3014 __attribute__warn_unused_result__;
9b7476d7
FC
3015#define PERL_ARGS_ASSERT_PADNAMELIST_FETCH \
3016 assert(pnl)
3017
6ba07ce1 3018PERL_CALLCONV void Perl_padnamelist_free(pTHX_ PADNAMELIST *pnl);
9b7476d7
FC
3019#define PERL_ARGS_ASSERT_PADNAMELIST_FREE \
3020 assert(pnl)
6ba07ce1 3021PERL_CALLCONV PADNAME ** Perl_padnamelist_store(pTHX_ PADNAMELIST *pnl, SSize_t key, PADNAME *val);
9b7476d7
FC
3022#define PERL_ARGS_ASSERT_PADNAMELIST_STORE \
3023 assert(pnl)
78cdf107 3024PERL_CALLCONV OP* Perl_parse_arithexpr(pTHX_ U32 flags);
2015d234 3025#define PERL_ARGS_ASSERT_PARSE_ARITHEXPR
8359b381 3026PERL_CALLCONV OP* Perl_parse_barestmt(pTHX_ U32 flags);
2015d234 3027#define PERL_ARGS_ASSERT_PARSE_BARESTMT
e53d8f76 3028PERL_CALLCONV OP* Perl_parse_block(pTHX_ U32 flags);
2015d234 3029#define PERL_ARGS_ASSERT_PARSE_BLOCK
78cdf107 3030PERL_CALLCONV OP* Perl_parse_fullexpr(pTHX_ U32 flags);
2015d234 3031#define PERL_ARGS_ASSERT_PARSE_FULLEXPR
e8a67806 3032PERL_CALLCONV OP* Perl_parse_fullstmt(pTHX_ U32 flags);
2015d234 3033#define PERL_ARGS_ASSERT_PARSE_FULLSTMT
361d9b55 3034PERL_CALLCONV SV* Perl_parse_label(pTHX_ U32 flags);
2015d234 3035#define PERL_ARGS_ASSERT_PARSE_LABEL
78cdf107 3036PERL_CALLCONV OP* Perl_parse_listexpr(pTHX_ U32 flags);
2015d234 3037#define PERL_ARGS_ASSERT_PARSE_LISTEXPR
07ffcb73 3038PERL_CALLCONV OP* Perl_parse_stmtseq(pTHX_ U32 flags);
2015d234 3039#define PERL_ARGS_ASSERT_PARSE_STMTSEQ
996b0cb8 3040PERL_CALLCONV OP* Perl_parse_subsignature(pTHX_ U32 flags);
2015d234 3041#define PERL_ARGS_ASSERT_PARSE_SUBSIGNATURE
78cdf107 3042PERL_CALLCONV OP* Perl_parse_termexpr(pTHX_ U32 flags);
2015d234 3043#define PERL_ARGS_ASSERT_PARSE_TERMEXPR
6ba07ce1 3044PERL_CALLCONV U32 Perl_parse_unicode_opts(pTHX_ const char **popt);
e8a67806
NC
3045#define PERL_ARGS_ASSERT_PARSE_UNICODE_OPTS \
3046 assert(popt)
6ba07ce1 3047PERL_CALLCONV void Perl_parser_free(pTHX_ const yy_parser *parser);
e8a67806
NC
3048#define PERL_ARGS_ASSERT_PARSER_FREE \
3049 assert(parser)
e8a67806 3050PERL_CALLCONV void Perl_peep(pTHX_ OP* o);
2015d234 3051#define PERL_ARGS_ASSERT_PEEP
e8a67806 3052PERL_CALLCONV PerlInterpreter* perl_alloc(void);
2015d234 3053#define PERL_ARGS_ASSERT_PERL_ALLOC
6ba07ce1 3054PERL_CALLCONV void perl_construct(PerlInterpreter *my_perl);
e8a67806
NC
3055#define PERL_ARGS_ASSERT_PERL_CONSTRUCT \
3056 assert(my_perl)
6ba07ce1 3057PERL_CALLCONV int perl_destruct(PerlInterpreter *my_perl);
e8a67806
NC
3058#define PERL_ARGS_ASSERT_PERL_DESTRUCT \
3059 assert(my_perl)
6ba07ce1 3060PERL_CALLCONV void perl_free(PerlInterpreter *my_perl);
e8a67806
NC
3061#define PERL_ARGS_ASSERT_PERL_FREE \
3062 assert(my_perl)
6ba07ce1 3063PERL_CALLCONV int perl_parse(PerlInterpreter *my_perl, XSINIT_t xsinit, int argc, char** argv, char** env);
e8a67806
NC
3064#define PERL_ARGS_ASSERT_PERL_PARSE \
3065 assert(my_perl)
6ba07ce1 3066PERL_CALLCONV int perl_run(PerlInterpreter *my_perl);
e8a67806
NC
3067#define PERL_ARGS_ASSERT_PERL_RUN \
3068 assert(my_perl)
e8a67806 3069PERL_CALLCONV void Perl_pmop_dump(pTHX_ PMOP* pm);
2015d234 3070#define PERL_ARGS_ASSERT_PMOP_DUMP
5012eebe 3071PERL_CALLCONV OP* Perl_pmruntime(pTHX_ OP *o, OP *expr, OP *repl, UV flags, I32 floor);
7918f24d
NC
3072#define PERL_ARGS_ASSERT_PMRUNTIME \
3073 assert(o); assert(expr)
1d7c1841 3074PERL_CALLCONV void Perl_pop_scope(pTHX);
2015d234 3075#define PERL_ARGS_ASSERT_POP_SCOPE
6ba07ce1 3076PERL_CALLCONV void Perl_populate_isa(pTHX_ const char *name, STRLEN len, ...);
74e8ce34
NC
3077#define PERL_ARGS_ASSERT_POPULATE_ISA \
3078 assert(name)
6ba07ce1