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