This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Extract common code to an inline function
[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
e8a67806
NC
20PERL_CALLCONV int Perl_Gv_AMupdate(pTHX_ HV* stash, bool destructing)
21 __attribute__nonnull__(pTHX_1);
22#define PERL_ARGS_ASSERT_GV_AMUPDATE \
23 assert(stash)
255164ba 24
e8a67806 25PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode);
8be227ab
FC
26PERL_CALLCONV void* Perl_Slab_Alloc(pTHX_ size_t sz)
27 __attribute__malloc__
28 __attribute__warn_unused_result__;
29
30PERL_CALLCONV void Perl_Slab_Free(pTHX_ void *op)
31 __attribute__nonnull__(pTHX_1);
32#define PERL_ARGS_ASSERT_SLAB_FREE \
33 assert(op)
34
922e8cb4
KW
35PERL_CALLCONV bool Perl__is_uni_FOO(pTHX_ const U8 classnum, const UV c)
36 __attribute__warn_unused_result__;
37
eba68aa0
KW
38PERL_CALLCONV bool Perl__is_uni_perl_idcont(pTHX_ UV c)
39 __attribute__warn_unused_result__;
40
f91dcd13
KW
41PERL_CALLCONV bool Perl__is_uni_perl_idstart(pTHX_ UV c)
42 __attribute__warn_unused_result__;
43
922e8cb4
KW
44PERL_CALLCONV bool Perl__is_utf8_FOO(pTHX_ const U8 classnum, const U8 *p)
45 __attribute__warn_unused_result__
46 __attribute__nonnull__(pTHX_2);
47#define PERL_ARGS_ASSERT__IS_UTF8_FOO \
48 assert(p)
49
7dbf68d2
KW
50PERL_CALLCONV bool Perl__is_utf8_mark(pTHX_ const U8 *p)
51 __attribute__warn_unused_result__
52 __attribute__nonnull__(pTHX_1);
53#define PERL_ARGS_ASSERT__IS_UTF8_MARK \
54 assert(p)
55
eba68aa0
KW
56PERL_CALLCONV bool Perl__is_utf8_perl_idcont(pTHX_ const U8 *p)
57 __attribute__warn_unused_result__
58 __attribute__nonnull__(pTHX_1);
59#define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDCONT \
60 assert(p)
61
d65654cb 62PERL_CALLCONV bool Perl__is_utf8_perl_idstart(pTHX_ const U8 *p)
b6912c02
KW
63 __attribute__warn_unused_result__
64 __attribute__nonnull__(pTHX_1);
d65654cb 65#define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDSTART \
b6912c02
KW
66 assert(p)
67
a0270393 68PERL_CALLCONV UV Perl__to_uni_fold_flags(pTHX_ UV c, U8 *p, STRLEN *lenp, const U8 flags)
36bb2ab6
KW
69 __attribute__nonnull__(pTHX_2)
70 __attribute__nonnull__(pTHX_3);
71#define PERL_ARGS_ASSERT__TO_UNI_FOLD_FLAGS \
72 assert(p); assert(lenp)
73
051a06d4 74PERL_CALLCONV UV Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags, bool* tainted_ptr)
36bb2ab6
KW
75 __attribute__nonnull__(pTHX_1)
76 __attribute__nonnull__(pTHX_2);
77#define PERL_ARGS_ASSERT__TO_UTF8_FOLD_FLAGS \
78 assert(p); assert(ustrp)
79
051a06d4
KW
80PERL_CALLCONV UV Perl__to_utf8_lower_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
81 __attribute__nonnull__(pTHX_1)
82 __attribute__nonnull__(pTHX_2);
83#define PERL_ARGS_ASSERT__TO_UTF8_LOWER_FLAGS \
84 assert(p); assert(ustrp)
85
86PERL_CALLCONV UV Perl__to_utf8_title_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
87 __attribute__nonnull__(pTHX_1)
88 __attribute__nonnull__(pTHX_2);
89#define PERL_ARGS_ASSERT__TO_UTF8_TITLE_FLAGS \
90 assert(p); assert(ustrp)
91
92PERL_CALLCONV UV Perl__to_utf8_upper_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
93 __attribute__nonnull__(pTHX_1)
94 __attribute__nonnull__(pTHX_2);
95#define PERL_ARGS_ASSERT__TO_UTF8_UPPER_FLAGS \
96 assert(p); assert(ustrp)
97
e8a67806
NC
98PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name, const STRLEN len, const U32 flags)
99 __attribute__nonnull__(pTHX_1);
100#define PERL_ARGS_ASSERT_ALLOCMY \
101 assert(name)
255164ba 102
46c461b5
AL
103PERL_CALLCONV SV* Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir)
104 __attribute__nonnull__(pTHX_1)
105 __attribute__nonnull__(pTHX_2);
7918f24d
NC
106#define PERL_ARGS_ASSERT_AMAGIC_CALL \
107 assert(left); assert(right)
46c461b5 108
25a9ffce
NC
109PERL_CALLCONV SV * Perl_amagic_deref_call(pTHX_ SV *ref, int method)
110 __attribute__nonnull__(pTHX_1);
111#define PERL_ARGS_ASSERT_AMAGIC_DEREF_CALL \
112 assert(ref)
113
8d569291 114PERL_CALLCONV bool Perl_amagic_is_enabled(pTHX_ int method);
55d09dc8
KW
115PERL_STATIC_INLINE void S_append_utf8_from_native_byte(const U8 byte, U8** dest)
116 __attribute__nonnull__(2);
117#define PERL_ARGS_ASSERT_APPEND_UTF8_FROM_NATIVE_BYTE \
118 assert(dest)
119
255164ba
DM
120PERL_CALLCONV I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp)
121 __attribute__nonnull__(pTHX_2)
122 __attribute__nonnull__(pTHX_3);
7918f24d
NC
123#define PERL_ARGS_ASSERT_APPLY \
124 assert(mark); assert(sp)
255164ba
DM
125
126PERL_CALLCONV void Perl_apply_attrs_string(pTHX_ const char *stashpv, CV *cv, const char *attrstr, STRLEN len)
127 __attribute__nonnull__(pTHX_1)
128 __attribute__nonnull__(pTHX_2)
129 __attribute__nonnull__(pTHX_3);
7918f24d
NC
130#define PERL_ARGS_ASSERT_APPLY_ATTRS_STRING \
131 assert(stashpv); assert(cv); assert(attrstr)
255164ba 132
e8a67806
NC
133PERL_CALLCONV void Perl_atfork_lock(void);
134PERL_CALLCONV void Perl_atfork_unlock(void);
135PERL_CALLCONV SV** Perl_av_arylen_p(pTHX_ AV *av)
136 __attribute__nonnull__(pTHX_1);
137#define PERL_ARGS_ASSERT_AV_ARYLEN_P \
138 assert(av)
139
4048f010 140PERL_CALLCONV void Perl_av_clear(pTHX_ AV *av)
7a5b473e 141 __attribute__nonnull__(pTHX_1);
7918f24d
NC
142#define PERL_ARGS_ASSERT_AV_CLEAR \
143 assert(av)
7a5b473e 144
e8a67806
NC
145PERL_CALLCONV void Perl_av_create_and_push(pTHX_ AV **const avp, SV *const val)
146 __attribute__nonnull__(pTHX_1)
147 __attribute__nonnull__(pTHX_2);
148#define PERL_ARGS_ASSERT_AV_CREATE_AND_PUSH \
149 assert(avp); assert(val)
150
151PERL_CALLCONV SV** Perl_av_create_and_unshift_one(pTHX_ AV **const avp, SV *const val)
152 __attribute__nonnull__(pTHX_1)
153 __attribute__nonnull__(pTHX_2);
154#define PERL_ARGS_ASSERT_AV_CREATE_AND_UNSHIFT_ONE \
155 assert(avp); assert(val)
156
c70927a6 157PERL_CALLCONV SV* Perl_av_delete(pTHX_ AV *av, SSize_t key, I32 flags)
7a5b473e 158 __attribute__nonnull__(pTHX_1);
7918f24d
NC
159#define PERL_ARGS_ASSERT_AV_DELETE \
160 assert(av)
7a5b473e 161
c70927a6 162PERL_CALLCONV bool Perl_av_exists(pTHX_ AV *av, SSize_t key)
7a5b473e
AL
163 __attribute__warn_unused_result__
164 __attribute__nonnull__(pTHX_1);
7918f24d
NC
165#define PERL_ARGS_ASSERT_AV_EXISTS \
166 assert(av)
a3b680e6 167
fc16c392 168PERL_CALLCONV void Perl_av_extend(pTHX_ AV *av, SSize_t key)
abb2c242 169 __attribute__nonnull__(pTHX_1);
7918f24d
NC
170#define PERL_ARGS_ASSERT_AV_EXTEND \
171 assert(av)
a3b680e6 172
fc16c392 173PERL_CALLCONV void Perl_av_extend_guts(pTHX_ AV *av, SSize_t key, SSize_t *maxp, SV ***allocp, SV ***arrayp)
7261499d
FC
174 __attribute__nonnull__(pTHX_3)
175 __attribute__nonnull__(pTHX_4)
176 __attribute__nonnull__(pTHX_5);
177#define PERL_ARGS_ASSERT_AV_EXTEND_GUTS \
178 assert(maxp); assert(allocp); assert(arrayp)
179
c70927a6 180PERL_CALLCONV SV** Perl_av_fetch(pTHX_ AV *av, SSize_t key, I32 lval)
7a5b473e
AL
181 __attribute__warn_unused_result__
182 __attribute__nonnull__(pTHX_1);
7918f24d
NC
183#define PERL_ARGS_ASSERT_AV_FETCH \
184 assert(av)
a3b680e6 185
c70927a6 186PERL_CALLCONV void Perl_av_fill(pTHX_ AV *av, SSize_t fill)
255164ba 187 __attribute__nonnull__(pTHX_1);
7918f24d
NC
188#define PERL_ARGS_ASSERT_AV_FILL \
189 assert(av)
255164ba 190
e8a67806
NC
191PERL_CALLCONV IV* Perl_av_iter_p(pTHX_ AV *av)
192 __attribute__nonnull__(pTHX_1);
193#define PERL_ARGS_ASSERT_AV_ITER_P \
194 assert(av)
195
c70927a6 196PERL_CALLCONV SSize_t Perl_av_len(pTHX_ AV *av)
255164ba
DM
197 __attribute__warn_unused_result__
198 __attribute__nonnull__(pTHX_1);
7918f24d
NC
199#define PERL_ARGS_ASSERT_AV_LEN \
200 assert(av)
a3b680e6 201
c70927a6 202PERL_CALLCONV AV* Perl_av_make(pTHX_ SSize_t size, SV **strp)
abb2c242
JH
203 __attribute__warn_unused_result__
204 __attribute__nonnull__(pTHX_2);
7918f24d
NC
205#define PERL_ARGS_ASSERT_AV_MAKE \
206 assert(strp)
a3b680e6 207
4048f010 208PERL_CALLCONV SV* Perl_av_pop(pTHX_ AV *av)
7a5b473e 209 __attribute__nonnull__(pTHX_1);
7918f24d
NC
210#define PERL_ARGS_ASSERT_AV_POP \
211 assert(av)
7a5b473e 212
4048f010 213PERL_CALLCONV void Perl_av_push(pTHX_ AV *av, SV *val)
7a5b473e 214 __attribute__nonnull__(pTHX_1)
255164ba 215 __attribute__nonnull__(pTHX_2);
7918f24d
NC
216#define PERL_ARGS_ASSERT_AV_PUSH \
217 assert(av); assert(val)
255164ba 218
4048f010 219PERL_CALLCONV void Perl_av_reify(pTHX_ AV *av)
255164ba 220 __attribute__nonnull__(pTHX_1);
7918f24d
NC
221#define PERL_ARGS_ASSERT_AV_REIFY \
222 assert(av)
255164ba 223
4048f010 224PERL_CALLCONV SV* Perl_av_shift(pTHX_ AV *av)
7a5b473e
AL
225 __attribute__warn_unused_result__
226 __attribute__nonnull__(pTHX_1);
7918f24d
NC
227#define PERL_ARGS_ASSERT_AV_SHIFT \
228 assert(av)
7a5b473e 229
c70927a6 230PERL_CALLCONV SV** Perl_av_store(pTHX_ AV *av, SSize_t key, SV *val)
7a5b473e 231 __attribute__nonnull__(pTHX_1);
7918f24d
NC
232#define PERL_ARGS_ASSERT_AV_STORE \
233 assert(av)
7a5b473e 234
c70927a6 235/* PERL_CALLCONV SSize_t Perl_av_tindex(pTHX_ AV *av)
12719193
KW
236 __attribute__warn_unused_result__
237 __attribute__nonnull__(pTHX_1); */
238
c70927a6 239PERL_STATIC_INLINE SSize_t S_av_top_index(pTHX_ AV *av)
36baafc9
KW
240 __attribute__warn_unused_result__
241 __attribute__nonnull__(pTHX_1);
dab460cd 242#define PERL_ARGS_ASSERT_AV_TOP_INDEX \
36baafc9
KW
243 assert(av)
244
4048f010 245PERL_CALLCONV void Perl_av_undef(pTHX_ AV *av)
7a5b473e 246 __attribute__nonnull__(pTHX_1);
7918f24d
NC
247#define PERL_ARGS_ASSERT_AV_UNDEF \
248 assert(av)
7a5b473e 249
c70927a6 250PERL_CALLCONV void Perl_av_unshift(pTHX_ AV *av, SSize_t num)
7a5b473e 251 __attribute__nonnull__(pTHX_1);
7918f24d
NC
252#define PERL_ARGS_ASSERT_AV_UNSHIFT \
253 assert(av)
a3b680e6 254
4048f010 255PERL_CALLCONV OP* Perl_bind_match(pTHX_ I32 type, OP *left, OP *right)
abb2c242
JH
256 __attribute__warn_unused_result__
257 __attribute__nonnull__(pTHX_2)
258 __attribute__nonnull__(pTHX_3);
7918f24d
NC
259#define PERL_ARGS_ASSERT_BIND_MATCH \
260 assert(left); assert(right)
a3b680e6
AL
261
262PERL_CALLCONV OP* Perl_block_end(pTHX_ I32 floor, OP* seq)
6472dca1 263 __attribute__warn_unused_result__;
a3b680e6
AL
264
265PERL_CALLCONV I32 Perl_block_gimme(pTHX)
abb2c242 266 __attribute__warn_unused_result__;
a3b680e6
AL
267
268PERL_CALLCONV int Perl_block_start(pTHX_ int full)
abb2c242 269 __attribute__warn_unused_result__;
a3b680e6 270
bb6c22e7
BM
271PERL_CALLCONV void Perl_blockhook_register(pTHX_ BHK *hk)
272 __attribute__nonnull__(pTHX_1);
273#define PERL_ARGS_ASSERT_BLOCKHOOK_REGISTER \
274 assert(hk)
275
36ed5425 276PERL_CALLCONV void Perl_boot_core_PerlIO(pTHX);
e8a67806
NC
277PERL_CALLCONV void Perl_boot_core_UNIVERSAL(pTHX);
278PERL_CALLCONV void Perl_boot_core_mro(pTHX);
fed3ba5d
NC
279PERL_CALLCONV int Perl_bytes_cmp_utf8(pTHX_ const U8 *b, STRLEN blen, const U8 *u, STRLEN ulen)
280 __attribute__nonnull__(pTHX_1)
281 __attribute__nonnull__(pTHX_3);
282#define PERL_ARGS_ASSERT_BYTES_CMP_UTF8 \
283 assert(b); assert(u)
284
e8a67806
NC
285PERL_CALLCONV U8* Perl_bytes_from_utf8(pTHX_ const U8 *s, STRLEN *len, bool *is_utf8)
286 __attribute__nonnull__(pTHX_1)
287 __attribute__nonnull__(pTHX_2);
288#define PERL_ARGS_ASSERT_BYTES_FROM_UTF8 \
289 assert(s); assert(len)
290
291PERL_CALLCONV U8* Perl_bytes_to_utf8(pTHX_ const U8 *s, STRLEN *len)
292 __attribute__nonnull__(pTHX_1)
293 __attribute__nonnull__(pTHX_2);
294#define PERL_ARGS_ASSERT_BYTES_TO_UTF8 \
295 assert(s); assert(len)
296
297PERL_CALLCONV I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv)
298 __attribute__nonnull__(pTHX_1)
299 __attribute__nonnull__(pTHX_3);
300#define PERL_ARGS_ASSERT_CALL_ARGV \
301 assert(sub_name); assert(argv)
302
303PERL_CALLCONV void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr);
4048f010 304PERL_CALLCONV void Perl_call_list(pTHX_ I32 oldscope, AV *paramList)
abb2c242 305 __attribute__nonnull__(pTHX_2);
7918f24d
NC
306#define PERL_ARGS_ASSERT_CALL_LIST \
307 assert(paramList)
a3b680e6 308
e8a67806
NC
309PERL_CALLCONV I32 Perl_call_method(pTHX_ const char* methname, I32 flags)
310 __attribute__nonnull__(pTHX_1);
311#define PERL_ARGS_ASSERT_CALL_METHOD \
312 assert(methname)
313
314PERL_CALLCONV I32 Perl_call_pv(pTHX_ const char* sub_name, I32 flags)
315 __attribute__nonnull__(pTHX_1);
316#define PERL_ARGS_ASSERT_CALL_PV \
317 assert(sub_name)
318
319PERL_CALLCONV I32 Perl_call_sv(pTHX_ SV* sv, VOL I32 flags)
320 __attribute__nonnull__(pTHX_1);
321#define PERL_ARGS_ASSERT_CALL_SV \
322 assert(sv)
323
2fefa6c7 324PERL_CALLCONV const PERL_CONTEXT * Perl_caller_cx(pTHX_ I32 level, const PERL_CONTEXT **dbcxp);
e8a67806
NC
325PERL_CALLCONV Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size)
326 __attribute__malloc__
327 __attribute__warn_unused_result__;
328
ae1951c1 329PERL_CALLCONV bool Perl_cando(pTHX_ Mode_t mode, bool effective, const Stat_t* statbufp)
abb2c242
JH
330 __attribute__warn_unused_result__
331 __attribute__nonnull__(pTHX_3);
7918f24d
NC
332#define PERL_ARGS_ASSERT_CANDO \
333 assert(statbufp)
f54cb97a 334
53c1dcc0
AL
335PERL_CALLCONV I32 Perl_cast_i32(pTHX_ NV f)
336 __attribute__warn_unused_result__;
337
338PERL_CALLCONV IV Perl_cast_iv(pTHX_ NV f)
339 __attribute__warn_unused_result__;
340
e8a67806 341PERL_CALLCONV U32 Perl_cast_ulong(pTHX_ NV f)
53c1dcc0
AL
342 __attribute__warn_unused_result__;
343
e8a67806 344PERL_CALLCONV UV Perl_cast_uv(pTHX_ NV f)
53c1dcc0
AL
345 __attribute__warn_unused_result__;
346
0876b9a0
KW
347PERL_CALLCONV bool Perl_check_utf8_print(pTHX_ const U8 *s, const STRLEN len)
348 __attribute__nonnull__(pTHX_1);
349#define PERL_ARGS_ASSERT_CHECK_UTF8_PRINT \
350 assert(s)
351
e8a67806
NC
352PERL_CALLCONV OP * Perl_ck_anoncode(pTHX_ OP *o)
353 __attribute__warn_unused_result__
2fefa6c7 354 __attribute__nonnull__(pTHX_1);
e8a67806
NC
355#define PERL_ARGS_ASSERT_CK_ANONCODE \
356 assert(o)
2fefa6c7 357
e8a67806
NC
358PERL_CALLCONV OP * Perl_ck_bitop(pTHX_ OP *o)
359 __attribute__warn_unused_result__
360 __attribute__nonnull__(pTHX_1);
361#define PERL_ARGS_ASSERT_CK_BITOP \
362 assert(o)
2fefa6c7 363
89474f50
FC
364PERL_CALLCONV OP * Perl_ck_cmp(pTHX_ OP *o)
365 __attribute__warn_unused_result__
366 __attribute__nonnull__(pTHX_1);
367#define PERL_ARGS_ASSERT_CK_CMP \
368 assert(o)
369
e8a67806
NC
370PERL_CALLCONV OP * Perl_ck_concat(pTHX_ OP *o)
371 __attribute__warn_unused_result__
372 __attribute__nonnull__(pTHX_1);
373#define PERL_ARGS_ASSERT_CK_CONCAT \
374 assert(o)
9dcc53ea 375
e8a67806
NC
376PERL_CALLCONV OP * Perl_ck_defined(pTHX_ OP *o)
377 __attribute__warn_unused_result__
c5df3096 378 __attribute__nonnull__(pTHX_1);
e8a67806
NC
379#define PERL_ARGS_ASSERT_CK_DEFINED \
380 assert(o)
f54cb97a 381
e8a67806
NC
382PERL_CALLCONV OP * Perl_ck_delete(pTHX_ OP *o)
383 __attribute__warn_unused_result__
384 __attribute__nonnull__(pTHX_1);
385#define PERL_ARGS_ASSERT_CK_DELETE \
386 assert(o)
f54cb97a 387
e8a67806
NC
388PERL_CALLCONV OP * Perl_ck_die(pTHX_ OP *o)
389 __attribute__warn_unused_result__
390 __attribute__nonnull__(pTHX_1);
391#define PERL_ARGS_ASSERT_CK_DIE \
392 assert(o)
f54cb97a 393
e8a67806
NC
394PERL_CALLCONV OP * Perl_ck_each(pTHX_ OP *o)
395 __attribute__warn_unused_result__
396 __attribute__nonnull__(pTHX_1);
397#define PERL_ARGS_ASSERT_CK_EACH \
398 assert(o)
f54cb97a 399
4aaa4757
FC
400PERL_CALLCONV OP* Perl_ck_entersub_args_core(pTHX_ OP *entersubop, GV *namegv, SV *protosv)
401 __attribute__nonnull__(pTHX_1)
402 __attribute__nonnull__(pTHX_2)
403 __attribute__nonnull__(pTHX_3);
404#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_CORE \
405 assert(entersubop); assert(namegv); assert(protosv)
406
d9088386
Z
407PERL_CALLCONV OP* Perl_ck_entersub_args_list(pTHX_ OP *entersubop)
408 __attribute__nonnull__(pTHX_1);
409#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_LIST \
410 assert(entersubop)
411
412PERL_CALLCONV OP* Perl_ck_entersub_args_proto(pTHX_ OP *entersubop, GV *namegv, SV *protosv)
413 __attribute__nonnull__(pTHX_1)
414 __attribute__nonnull__(pTHX_2)
415 __attribute__nonnull__(pTHX_3);
416#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_PROTO \
417 assert(entersubop); assert(namegv); assert(protosv)
418
419PERL_CALLCONV OP* Perl_ck_entersub_args_proto_or_list(pTHX_ OP *entersubop, GV *namegv, SV *protosv)
420 __attribute__nonnull__(pTHX_1)
421 __attribute__nonnull__(pTHX_2)
422 __attribute__nonnull__(pTHX_3);
423#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_PROTO_OR_LIST \
424 assert(entersubop); assert(namegv); assert(protosv)
425
e8a67806
NC
426PERL_CALLCONV OP * Perl_ck_eof(pTHX_ OP *o)
427 __attribute__warn_unused_result__
cbf82dd0 428 __attribute__nonnull__(pTHX_1);
e8a67806
NC
429#define PERL_ARGS_ASSERT_CK_EOF \
430 assert(o)
cbf82dd0 431
e8a67806
NC
432PERL_CALLCONV OP * Perl_ck_eval(pTHX_ OP *o)
433 __attribute__warn_unused_result__
abb2c242 434 __attribute__nonnull__(pTHX_1);
e8a67806
NC
435#define PERL_ARGS_ASSERT_CK_EVAL \
436 assert(o)
f54cb97a 437
e8a67806 438PERL_CALLCONV OP * Perl_ck_exec(pTHX_ OP *o)
62d55b22
NC
439 __attribute__warn_unused_result__
440 __attribute__nonnull__(pTHX_1);
e8a67806
NC
441#define PERL_ARGS_ASSERT_CK_EXEC \
442 assert(o)
62d55b22 443
e8a67806
NC
444PERL_CALLCONV OP * Perl_ck_exists(pTHX_ OP *o)
445 __attribute__warn_unused_result__
446 __attribute__nonnull__(pTHX_1);
447#define PERL_ARGS_ASSERT_CK_EXISTS \
448 assert(o)
255164ba 449
e8a67806
NC
450PERL_CALLCONV OP * Perl_ck_exit(pTHX_ OP *o)
451 __attribute__warn_unused_result__
452 __attribute__nonnull__(pTHX_1);
453#define PERL_ARGS_ASSERT_CK_EXIT \
454 assert(o)
255164ba 455
e8a67806
NC
456PERL_CALLCONV OP * Perl_ck_ftst(pTHX_ OP *o)
457 __attribute__warn_unused_result__
255164ba 458 __attribute__nonnull__(pTHX_1);
e8a67806
NC
459#define PERL_ARGS_ASSERT_CK_FTST \
460 assert(o)
255164ba 461
e8a67806
NC
462PERL_CALLCONV OP * Perl_ck_fun(pTHX_ OP *o)
463 __attribute__warn_unused_result__
255164ba 464 __attribute__nonnull__(pTHX_1);
e8a67806
NC
465#define PERL_ARGS_ASSERT_CK_FUN \
466 assert(o)
255164ba 467
e8a67806
NC
468PERL_CALLCONV OP * Perl_ck_glob(pTHX_ OP *o)
469 __attribute__warn_unused_result__
255164ba 470 __attribute__nonnull__(pTHX_1);
e8a67806
NC
471#define PERL_ARGS_ASSERT_CK_GLOB \
472 assert(o)
255164ba 473
e8a67806 474PERL_CALLCONV OP * Perl_ck_grep(pTHX_ OP *o)
255164ba 475 __attribute__warn_unused_result__
e8a67806
NC
476 __attribute__nonnull__(pTHX_1);
477#define PERL_ARGS_ASSERT_CK_GREP \
478 assert(o)
255164ba 479
e8a67806 480PERL_CALLCONV OP * Perl_ck_index(pTHX_ OP *o)
abb2c242 481 __attribute__warn_unused_result__
e8a67806
NC
482 __attribute__nonnull__(pTHX_1);
483#define PERL_ARGS_ASSERT_CK_INDEX \
484 assert(o)
f54cb97a 485
e8a67806 486PERL_CALLCONV OP * Perl_ck_join(pTHX_ OP *o)
abb2c242 487 __attribute__warn_unused_result__
e8a67806
NC
488 __attribute__nonnull__(pTHX_1);
489#define PERL_ARGS_ASSERT_CK_JOIN \
490 assert(o)
f54cb97a 491
e508c8a4
MH
492PERL_CALLCONV OP * Perl_ck_length(pTHX_ OP *o)
493 __attribute__warn_unused_result__
494 __attribute__nonnull__(pTHX_1);
495#define PERL_ARGS_ASSERT_CK_LENGTH \
496 assert(o)
497
e8a67806 498PERL_CALLCONV OP * Perl_ck_lfun(pTHX_ OP *o)
abb2c242 499 __attribute__warn_unused_result__
e8a67806
NC
500 __attribute__nonnull__(pTHX_1);
501#define PERL_ARGS_ASSERT_CK_LFUN \
502 assert(o)
f54cb97a 503
e8a67806 504PERL_CALLCONV OP * Perl_ck_listiob(pTHX_ OP *o)
abb2c242 505 __attribute__warn_unused_result__
e8a67806
NC
506 __attribute__nonnull__(pTHX_1);
507#define PERL_ARGS_ASSERT_CK_LISTIOB \
508 assert(o)
f54cb97a 509
e8a67806 510PERL_CALLCONV OP * Perl_ck_match(pTHX_ OP *o)
abb2c242 511 __attribute__warn_unused_result__
e8a67806
NC
512 __attribute__nonnull__(pTHX_1);
513#define PERL_ARGS_ASSERT_CK_MATCH \
514 assert(o)
f54cb97a 515
e8a67806
NC
516PERL_CALLCONV OP * Perl_ck_method(pTHX_ OP *o)
517 __attribute__warn_unused_result__
518 __attribute__nonnull__(pTHX_1);
519#define PERL_ARGS_ASSERT_CK_METHOD \
520 assert(o)
a3b680e6 521
e8a67806
NC
522PERL_CALLCONV OP * Perl_ck_null(pTHX_ OP *o)
523 __attribute__warn_unused_result__
255164ba 524 __attribute__nonnull__(pTHX_1);
e8a67806
NC
525#define PERL_ARGS_ASSERT_CK_NULL \
526 assert(o)
255164ba 527
e8a67806
NC
528PERL_CALLCONV OP * Perl_ck_open(pTHX_ OP *o)
529 __attribute__warn_unused_result__
255164ba 530 __attribute__nonnull__(pTHX_1);
e8a67806
NC
531#define PERL_ARGS_ASSERT_CK_OPEN \
532 assert(o)
f54cb97a 533
e8a67806
NC
534PERL_CALLCONV OP * Perl_ck_readline(pTHX_ OP *o)
535 __attribute__warn_unused_result__
abb2c242 536 __attribute__nonnull__(pTHX_1);
e8a67806 537#define PERL_ARGS_ASSERT_CK_READLINE \
7918f24d 538 assert(o)
f54cb97a 539
e8a67806
NC
540PERL_CALLCONV OP * Perl_ck_repeat(pTHX_ OP *o)
541 __attribute__warn_unused_result__
542 __attribute__nonnull__(pTHX_1);
543#define PERL_ARGS_ASSERT_CK_REPEAT \
544 assert(o)
545
546PERL_CALLCONV OP * Perl_ck_require(pTHX_ OP *o)
547 __attribute__warn_unused_result__
548 __attribute__nonnull__(pTHX_1);
549#define PERL_ARGS_ASSERT_CK_REQUIRE \
550 assert(o)
551
552PERL_CALLCONV OP * Perl_ck_return(pTHX_ OP *o)
553 __attribute__warn_unused_result__
554 __attribute__nonnull__(pTHX_1);
555#define PERL_ARGS_ASSERT_CK_RETURN \
556 assert(o)
557
558PERL_CALLCONV OP * Perl_ck_rfun(pTHX_ OP *o)
559 __attribute__warn_unused_result__
560 __attribute__nonnull__(pTHX_1);
561#define PERL_ARGS_ASSERT_CK_RFUN \
562 assert(o)
563
564PERL_CALLCONV OP * Perl_ck_rvconst(pTHX_ OP *o)
565 __attribute__warn_unused_result__
566 __attribute__nonnull__(pTHX_1);
567#define PERL_ARGS_ASSERT_CK_RVCONST \
568 assert(o)
569
570PERL_CALLCONV OP * Perl_ck_sassign(pTHX_ OP *o)
571 __attribute__warn_unused_result__
572 __attribute__nonnull__(pTHX_1);
573#define PERL_ARGS_ASSERT_CK_SASSIGN \
574 assert(o)
575
576PERL_CALLCONV OP * Perl_ck_select(pTHX_ OP *o)
577 __attribute__warn_unused_result__
578 __attribute__nonnull__(pTHX_1);
579#define PERL_ARGS_ASSERT_CK_SELECT \
580 assert(o)
581
582PERL_CALLCONV OP * Perl_ck_shift(pTHX_ OP *o)
583 __attribute__warn_unused_result__
584 __attribute__nonnull__(pTHX_1);
585#define PERL_ARGS_ASSERT_CK_SHIFT \
586 assert(o)
587
588PERL_CALLCONV OP * Perl_ck_smartmatch(pTHX_ OP *o)
589 __attribute__warn_unused_result__
590 __attribute__nonnull__(pTHX_1);
591#define PERL_ARGS_ASSERT_CK_SMARTMATCH \
592 assert(o)
593
594PERL_CALLCONV OP * Perl_ck_sort(pTHX_ OP *o)
595 __attribute__warn_unused_result__
596 __attribute__nonnull__(pTHX_1);
597#define PERL_ARGS_ASSERT_CK_SORT \
598 assert(o)
599
600PERL_CALLCONV OP * Perl_ck_spair(pTHX_ OP *o)
601 __attribute__warn_unused_result__
602 __attribute__nonnull__(pTHX_1);
603#define PERL_ARGS_ASSERT_CK_SPAIR \
604 assert(o)
605
606PERL_CALLCONV OP * Perl_ck_split(pTHX_ OP *o)
607 __attribute__warn_unused_result__
608 __attribute__nonnull__(pTHX_1);
609#define PERL_ARGS_ASSERT_CK_SPLIT \
610 assert(o)
611
612PERL_CALLCONV OP * Perl_ck_subr(pTHX_ OP *o)
613 __attribute__warn_unused_result__
614 __attribute__nonnull__(pTHX_1);
615#define PERL_ARGS_ASSERT_CK_SUBR \
616 assert(o)
617
618PERL_CALLCONV OP * Perl_ck_substr(pTHX_ OP *o)
619 __attribute__warn_unused_result__
620 __attribute__nonnull__(pTHX_1);
621#define PERL_ARGS_ASSERT_CK_SUBSTR \
622 assert(o)
623
624PERL_CALLCONV OP * Perl_ck_svconst(pTHX_ OP *o)
625 __attribute__warn_unused_result__
626 __attribute__nonnull__(pTHX_1);
627#define PERL_ARGS_ASSERT_CK_SVCONST \
628 assert(o)
629
8dc99089
FC
630PERL_CALLCONV OP * Perl_ck_tell(pTHX_ OP *o)
631 __attribute__warn_unused_result__
632 __attribute__nonnull__(pTHX_1);
633#define PERL_ARGS_ASSERT_CK_TELL \
634 assert(o)
635
e8a67806
NC
636PERL_CALLCONV OP * Perl_ck_trunc(pTHX_ OP *o)
637 __attribute__warn_unused_result__
638 __attribute__nonnull__(pTHX_1);
639#define PERL_ARGS_ASSERT_CK_TRUNC \
640 assert(o)
641
e8a67806
NC
642PERL_CALLCONV void Perl_ck_warner(pTHX_ U32 err, const char* pat, ...)
643 __attribute__format__(__printf__,pTHX_2,pTHX_3)
644 __attribute__nonnull__(pTHX_2);
645#define PERL_ARGS_ASSERT_CK_WARNER \
646 assert(pat)
647
648PERL_CALLCONV void Perl_ck_warner_d(pTHX_ U32 err, const char* pat, ...)
649 __attribute__format__(__printf__,pTHX_2,pTHX_3)
650 __attribute__nonnull__(pTHX_2);
651#define PERL_ARGS_ASSERT_CK_WARNER_D \
652 assert(pat)
653
654PERL_CALLCONV bool Perl_ckwarn(pTHX_ U32 w);
655PERL_CALLCONV bool Perl_ckwarn_d(pTHX_ U32 w);
656PERL_CALLCONV OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o)
657 __attribute__warn_unused_result__;
658
aebc0cbe
FC
659PERL_CALLCONV const char * Perl_cop_fetch_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags)
660 __attribute__nonnull__(pTHX_1);
661#define PERL_ARGS_ASSERT_COP_FETCH_LABEL \
662 assert(cop)
663
664PERL_CALLCONV void Perl_cop_store_label(pTHX_ COP *const cop, const char *label, STRLEN len, U32 flags)
665 __attribute__nonnull__(pTHX_1)
666 __attribute__nonnull__(pTHX_2);
667#define PERL_ARGS_ASSERT_COP_STORE_LABEL \
668 assert(cop); assert(label)
669
b66130dd 670PERL_CALLCONV SV * Perl_core_prototype(pTHX_ SV *sv, const char *name, const int code, int * const opnum)
b8c38f0a
FC
671 __attribute__nonnull__(pTHX_2);
672#define PERL_ARGS_ASSERT_CORE_PROTOTYPE \
673 assert(name)
674
8f939fab 675PERL_CALLCONV OP * Perl_coresub_op(pTHX_ SV *const coreargssv, const int code, const int opnum)
1e4b6aa1
FC
676 __attribute__nonnull__(pTHX_1);
677#define PERL_ARGS_ASSERT_CORESUB_OP \
678 assert(coreargssv)
679
e8a67806 680PERL_CALLCONV PERL_CONTEXT* Perl_create_eval_scope(pTHX_ U32 flags);
12a2785c 681PERL_CALLCONV_NO_RET void Perl_croak(pTHX_ const char* pat, ...)
e8a67806
NC
682 __attribute__noreturn__
683 __attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2);
684
d1decf2b
TC
685PERL_STATIC_NO_RET void S_croak_memory_wrap(void)
686 __attribute__noreturn__;
687
4cbe3a7d
DD
688PERL_CALLCONV_NO_RET void Perl_croak_no_mem(void)
689 __attribute__noreturn__;
690
cb077ed2 691PERL_CALLCONV_NO_RET void Perl_croak_no_modify(void)
e8a67806
NC
692 __attribute__noreturn__;
693
3d04513d
DD
694PERL_CALLCONV_NO_RET void Perl_croak_popstack(void)
695 __attribute__noreturn__;
696
12a2785c 697PERL_CALLCONV_NO_RET void Perl_croak_sv(pTHX_ SV *baseex)
e8a67806
NC
698 __attribute__noreturn__
699 __attribute__nonnull__(pTHX_1);
700#define PERL_ARGS_ASSERT_CROAK_SV \
701 assert(baseex)
702
cb077ed2 703PERL_CALLCONV_NO_RET void Perl_croak_xs_usage(const CV *const cv, const char *const params)
e8a67806 704 __attribute__noreturn__
cb077ed2
DD
705 __attribute__nonnull__(1)
706 __attribute__nonnull__(2);
e8a67806
NC
707#define PERL_ARGS_ASSERT_CROAK_XS_USAGE \
708 assert(cv); assert(params)
709
3c13cae6 710PERL_CALLCONV regexp_engine const * Perl_current_re_engine(pTHX);
e8a67806
NC
711PERL_CALLCONV const char * Perl_custom_op_desc(pTHX_ const OP *o)
712 __attribute__warn_unused_result__
713 __attribute__nonnull__(pTHX_1);
714#define PERL_ARGS_ASSERT_CUSTOM_OP_DESC \
715 assert(o)
716
717PERL_CALLCONV const char * Perl_custom_op_name(pTHX_ const OP *o)
718 __attribute__warn_unused_result__
719 __attribute__nonnull__(pTHX_1);
720#define PERL_ARGS_ASSERT_CUSTOM_OP_NAME \
721 assert(o)
722
1830b3d9
BM
723PERL_CALLCONV void Perl_custom_op_register(pTHX_ Perl_ppaddr_t ppaddr, const XOP *xop)
724 __attribute__nonnull__(pTHX_1)
725 __attribute__nonnull__(pTHX_2);
726#define PERL_ARGS_ASSERT_CUSTOM_OP_REGISTER \
727 assert(ppaddr); assert(xop)
728
729PERL_CALLCONV const XOP * Perl_custom_op_xop(pTHX_ const OP *o)
730 __attribute__pure__
731 __attribute__nonnull__(pTHX_1);
732#define PERL_ARGS_ASSERT_CUSTOM_OP_XOP \
733 assert(o)
734
dab1c735
BF
735PERL_CALLCONV void Perl_cv_ckproto_len_flags(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len, const U32 flags)
736 __attribute__nonnull__(pTHX_1);
737#define PERL_ARGS_ASSERT_CV_CKPROTO_LEN_FLAGS \
738 assert(cv)
739
e8a67806
NC
740PERL_CALLCONV CV* Perl_cv_clone(pTHX_ CV* proto)
741 __attribute__nonnull__(pTHX_1);
742#define PERL_ARGS_ASSERT_CV_CLONE \
743 assert(proto)
744
6d5c2147
FC
745PERL_CALLCONV CV* Perl_cv_clone_into(pTHX_ CV* proto, CV *target)
746 __attribute__nonnull__(pTHX_1)
747 __attribute__nonnull__(pTHX_2);
748#define PERL_ARGS_ASSERT_CV_CLONE_INTO \
749 assert(proto); assert(target)
750
e8a67806
NC
751PERL_CALLCONV SV* Perl_cv_const_sv(pTHX_ const CV *const cv)
752 __attribute__warn_unused_result__;
753
f815dc14
FC
754PERL_CALLCONV SV* Perl_cv_const_sv_or_av(pTHX_ const CV *const cv)
755 __attribute__warn_unused_result__;
756
7aef8e5b
FC
757PERL_CALLCONV void Perl_cv_forget_slab(pTHX_ CV *cv)
758 __attribute__nonnull__(pTHX_1);
759#define PERL_ARGS_ASSERT_CV_FORGET_SLAB \
760 assert(cv)
761
d9088386
Z
762PERL_CALLCONV void Perl_cv_get_call_checker(pTHX_ CV *cv, Perl_call_checker *ckfun_p, SV **ckobj_p)
763 __attribute__nonnull__(pTHX_1)
764 __attribute__nonnull__(pTHX_2)
765 __attribute__nonnull__(pTHX_3);
766#define PERL_ARGS_ASSERT_CV_GET_CALL_CHECKER \
767 assert(cv); assert(ckfun_p); assert(ckobj_p)
768
769PERL_CALLCONV void Perl_cv_set_call_checker(pTHX_ CV *cv, Perl_call_checker ckfun, SV *ckobj)
770 __attribute__nonnull__(pTHX_1)
771 __attribute__nonnull__(pTHX_2)
772 __attribute__nonnull__(pTHX_3);
773#define PERL_ARGS_ASSERT_CV_SET_CALL_CHECKER \
774 assert(cv); assert(ckfun); assert(ckobj)
775
e8a67806
NC
776PERL_CALLCONV void Perl_cv_undef(pTHX_ CV* cv)
777 __attribute__nonnull__(pTHX_1);
778#define PERL_ARGS_ASSERT_CV_UNDEF \
779 assert(cv)
780
781PERL_CALLCONV void Perl_cvgv_set(pTHX_ CV* cv, GV* gv)
782 __attribute__nonnull__(pTHX_1);
783#define PERL_ARGS_ASSERT_CVGV_SET \
784 assert(cv)
785
c68d9564
Z
786PERL_CALLCONV void Perl_cvstash_set(pTHX_ CV* cv, HV* stash)
787 __attribute__nonnull__(pTHX_1);
788#define PERL_ARGS_ASSERT_CVSTASH_SET \
789 assert(cv)
790
e8a67806
NC
791PERL_CALLCONV void Perl_cx_dump(pTHX_ PERL_CONTEXT* cx)
792 __attribute__nonnull__(pTHX_1);
793#define PERL_ARGS_ASSERT_CX_DUMP \
794 assert(cx)
795
796PERL_CALLCONV I32 Perl_cxinc(pTHX)
797 __attribute__warn_unused_result__;
798
799PERL_CALLCONV void Perl_deb(pTHX_ const char* pat, ...)
800 __attribute__format__(__printf__,pTHX_1,pTHX_2)
801 __attribute__nonnull__(pTHX_1);
802#define PERL_ARGS_ASSERT_DEB \
803 assert(pat)
804
805PERL_CALLCONV void Perl_deb_stack_all(pTHX);
806PERL_CALLCONV I32 Perl_debop(pTHX_ const OP* o)
807 __attribute__nonnull__(pTHX_1);
808#define PERL_ARGS_ASSERT_DEBOP \
809 assert(o)
810
811PERL_CALLCONV void Perl_debprofdump(pTHX);
812PERL_CALLCONV I32 Perl_debstack(pTHX);
813PERL_CALLCONV I32 Perl_debstackptrs(pTHX);
13733cde
FC
814PERL_CALLCONV SV * Perl_defelem_target(pTHX_ SV *sv, MAGIC *mg)
815 __attribute__warn_unused_result__
816 __attribute__nonnull__(pTHX_1);
817#define PERL_ARGS_ASSERT_DEFELEM_TARGET \
818 assert(sv)
819
e8a67806 820PERL_CALLCONV void Perl_delete_eval_scope(pTHX);
04c9e624
VP
821PERL_CALLCONV char* Perl_delimcpy(char* to, const char* toend, const char* from, const char* fromend, int delim, I32* retlen)
822 __attribute__nonnull__(1)
823 __attribute__nonnull__(2)
824 __attribute__nonnull__(3)
825 __attribute__nonnull__(4)
826 __attribute__nonnull__(6);
7918f24d
NC
827#define PERL_ARGS_ASSERT_DELIMCPY \
828 assert(to); assert(toend); assert(from); assert(fromend); assert(retlen)
f54cb97a 829
e8a67806
NC
830PERL_CALLCONV void Perl_despatch_signals(pTHX);
831PERL_CALLCONV OP* Perl_die(pTHX_ const char* pat, ...)
832 __attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2);
833
c5df3096
Z
834PERL_CALLCONV OP* Perl_die_sv(pTHX_ SV *baseex)
835 __attribute__nonnull__(pTHX_1);
836#define PERL_ARGS_ASSERT_DIE_SV \
837 assert(baseex)
838
12a2785c 839PERL_CALLCONV_NO_RET void Perl_die_unwind(pTHX_ SV* msv)
c5df3096
Z
840 __attribute__noreturn__
841 __attribute__nonnull__(pTHX_1);
842#define PERL_ARGS_ASSERT_DIE_UNWIND \
62705b21 843 assert(msv)
bb4c52e0 844
a9f96b3f 845/* PERL_CALLCONV bool Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp)
255164ba 846 __attribute__nonnull__(pTHX_2)
a9f96b3f 847 __attribute__nonnull__(pTHX_3); */
7918f24d
NC
848#define PERL_ARGS_ASSERT_DO_AEXEC \
849 assert(mark); assert(sp)
255164ba 850
5b5cf8d2 851PERL_CALLCONV bool Perl_do_aexec5(pTHX_ SV* really, SV** mark, SV** sp, int fd, int do_report)
255164ba
DM
852 __attribute__nonnull__(pTHX_2)
853 __attribute__nonnull__(pTHX_3);
7918f24d
NC
854#define PERL_ARGS_ASSERT_DO_AEXEC5 \
855 assert(mark); assert(sp)
255164ba 856
4373e329 857PERL_CALLCONV int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode)
abb2c242 858 __attribute__nonnull__(pTHX_1);
7918f24d
NC
859#define PERL_ARGS_ASSERT_DO_BINMODE \
860 assert(fp)
f54cb97a 861
063df69c 862PERL_CALLCONV bool Perl_do_close(pTHX_ GV* gv, bool not_implicit);
e8a67806
NC
863PERL_CALLCONV void Perl_do_dump_pad(pTHX_ I32 level, PerlIO *file, PADLIST *padlist, int full)
864 __attribute__nonnull__(pTHX_2);
865#define PERL_ARGS_ASSERT_DO_DUMP_PAD \
866 assert(file)
867
4373e329 868PERL_CALLCONV bool Perl_do_eof(pTHX_ GV* gv)
abb2c242 869 __attribute__nonnull__(pTHX_1);
7918f24d
NC
870#define PERL_ARGS_ASSERT_DO_EOF \
871 assert(gv)
f54cb97a 872
e8a67806
NC
873PERL_CALLCONV void Perl_do_execfree(pTHX);
874PERL_CALLCONV void Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv)
875 __attribute__nonnull__(pTHX_2)
876 __attribute__nonnull__(pTHX_3);
877#define PERL_ARGS_ASSERT_DO_GV_DUMP \
878 assert(file); assert(name)
f54cb97a 879
e8a67806 880PERL_CALLCONV void Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv)
fb9bf107
NC
881 __attribute__nonnull__(pTHX_2)
882 __attribute__nonnull__(pTHX_3);
e8a67806
NC
883#define PERL_ARGS_ASSERT_DO_GVGV_DUMP \
884 assert(file); assert(name)
fb9bf107 885
e8a67806 886PERL_CALLCONV void Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, const char *name, HV *sv)
fb9bf107
NC
887 __attribute__nonnull__(pTHX_2)
888 __attribute__nonnull__(pTHX_3);
e8a67806
NC
889#define PERL_ARGS_ASSERT_DO_HV_DUMP \
890 assert(file); assert(name)
fb9bf107 891
4048f010 892PERL_CALLCONV void Perl_do_join(pTHX_ SV *sv, SV *delim, SV **mark, SV **sp)
abb2c242
JH
893 __attribute__nonnull__(pTHX_1)
894 __attribute__nonnull__(pTHX_2)
895 __attribute__nonnull__(pTHX_3)
896 __attribute__nonnull__(pTHX_4);
7918f24d
NC
897#define PERL_ARGS_ASSERT_DO_JOIN \
898 assert(sv); assert(delim); assert(mark); assert(sp)
f54cb97a 899
e8a67806
NC
900PERL_CALLCONV void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, const MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
901 __attribute__nonnull__(pTHX_2)
902 __attribute__nonnull__(pTHX_3);
903#define PERL_ARGS_ASSERT_DO_MAGIC_DUMP \
904 assert(file); assert(mg)
905
33efebe6
DM
906PERL_CALLCONV I32 Perl_do_ncmp(pTHX_ SV *const left, SV *const right)
907 __attribute__warn_unused_result__
908 __attribute__nonnull__(pTHX_1)
909 __attribute__nonnull__(pTHX_2);
910#define PERL_ARGS_ASSERT_DO_NCMP \
911 assert(left); assert(right)
912
e8a67806
NC
913PERL_CALLCONV void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o)
914 __attribute__nonnull__(pTHX_2);
915#define PERL_ARGS_ASSERT_DO_OP_DUMP \
916 assert(file)
917
e4dba786 918/* PERL_CALLCONV bool Perl_do_open(pTHX_ GV* gv, const char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp)
255164ba 919 __attribute__nonnull__(pTHX_1)
e4dba786 920 __attribute__nonnull__(pTHX_2); */
7918f24d
NC
921#define PERL_ARGS_ASSERT_DO_OPEN \
922 assert(gv); assert(name)
255164ba 923
2fbb330f 924PERL_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)
255164ba
DM
925 __attribute__nonnull__(pTHX_1)
926 __attribute__nonnull__(pTHX_2)
927 __attribute__nonnull__(pTHX_8);
7918f24d
NC
928#define PERL_ARGS_ASSERT_DO_OPEN9 \
929 assert(gv); assert(name); assert(svs)
255164ba 930
4048f010 931PERL_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)
255164ba
DM
932 __attribute__nonnull__(pTHX_1)
933 __attribute__nonnull__(pTHX_2);
7918f24d
NC
934#define PERL_ARGS_ASSERT_DO_OPENN \
935 assert(gv); assert(oname)
255164ba 936
e8a67806
NC
937PERL_CALLCONV void Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, const PMOP *pm)
938 __attribute__nonnull__(pTHX_2);
939#define PERL_ARGS_ASSERT_DO_PMOP_DUMP \
940 assert(file)
941
255164ba
DM
942PERL_CALLCONV bool Perl_do_print(pTHX_ SV* sv, PerlIO* fp)
943 __attribute__nonnull__(pTHX_2);
7918f24d
NC
944#define PERL_ARGS_ASSERT_DO_PRINT \
945 assert(fp)
255164ba
DM
946
947PERL_CALLCONV OP* Perl_do_readline(pTHX)
948 __attribute__warn_unused_result__;
949
1d7c1841 950PERL_CALLCONV bool Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence);
255164ba
DM
951PERL_CALLCONV void Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg)
952 __attribute__nonnull__(pTHX_1)
953 __attribute__nonnull__(pTHX_3);
7918f24d
NC
954#define PERL_ARGS_ASSERT_DO_SPRINTF \
955 assert(sv); assert(sarg)
255164ba 956
e8a67806
NC
957PERL_CALLCONV void Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
958 __attribute__nonnull__(pTHX_2);
959#define PERL_ARGS_ASSERT_DO_SV_DUMP \
960 assert(file)
961
255164ba
DM
962PERL_CALLCONV Off_t Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence)
963 __attribute__nonnull__(pTHX_1);
7918f24d
NC
964#define PERL_ARGS_ASSERT_DO_SYSSEEK \
965 assert(gv)
255164ba
DM
966
967PERL_CALLCONV Off_t Perl_do_tell(pTHX_ GV* gv)
968 __attribute__warn_unused_result__
969 __attribute__nonnull__(pTHX_1);
7918f24d
NC
970#define PERL_ARGS_ASSERT_DO_TELL \
971 assert(gv)
255164ba
DM
972
973PERL_CALLCONV I32 Perl_do_trans(pTHX_ SV* sv)
974 __attribute__nonnull__(pTHX_1);
7918f24d
NC
975#define PERL_ARGS_ASSERT_DO_TRANS \
976 assert(sv)
255164ba 977
fcb8da00 978PERL_CALLCONV UV Perl_do_vecget(pTHX_ SV* sv, SSize_t offset, int size)
abb2c242 979 __attribute__nonnull__(pTHX_1);
7918f24d
NC
980#define PERL_ARGS_ASSERT_DO_VECGET \
981 assert(sv)
f54cb97a 982
4373e329 983PERL_CALLCONV void Perl_do_vecset(pTHX_ SV* sv)
abb2c242 984 __attribute__nonnull__(pTHX_1);
7918f24d
NC
985#define PERL_ARGS_ASSERT_DO_VECSET \
986 assert(sv)
f54cb97a 987
255164ba
DM
988PERL_CALLCONV void Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right)
989 __attribute__nonnull__(pTHX_2)
990 __attribute__nonnull__(pTHX_3)
991 __attribute__nonnull__(pTHX_4);
7918f24d
NC
992#define PERL_ARGS_ASSERT_DO_VOP \
993 assert(sv); assert(left); assert(right)
255164ba 994
850e8516 995PERL_CALLCONV OP* Perl_dofile(pTHX_ OP* term, I32 force_builtin)
255164ba 996 __attribute__nonnull__(pTHX_1);
7918f24d
NC
997#define PERL_ARGS_ASSERT_DOFILE \
998 assert(term)
255164ba 999
e8a67806
NC
1000PERL_CALLCONV bool Perl_doing_taint(int argc, char** argv, char** env)
1001 __attribute__warn_unused_result__;
1002
1003PERL_CALLCONV OP * Perl_doref(pTHX_ OP *o, I32 type, bool set_op_ref)
1004 __attribute__nonnull__(pTHX_1);
1005#define PERL_ARGS_ASSERT_DOREF \
1006 assert(o)
1007
1008PERL_CALLCONV void Perl_dounwind(pTHX_ I32 cxix);
255164ba
DM
1009PERL_CALLCONV I32 Perl_dowantarray(pTHX)
1010 __attribute__warn_unused_result__;
1011
1d7c1841 1012PERL_CALLCONV void Perl_dump_all(pTHX);
f0e3f042 1013PERL_CALLCONV void Perl_dump_all_perl(pTHX_ bool justperl);
1d7c1841 1014PERL_CALLCONV void Perl_dump_eval(pTHX);
9a957fbc
AL
1015PERL_CALLCONV void Perl_dump_form(pTHX_ const GV* gv)
1016 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1017#define PERL_ARGS_ASSERT_DUMP_FORM \
1018 assert(gv)
9a957fbc 1019
e8a67806
NC
1020PERL_CALLCONV void Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
1021 __attribute__format__(__printf__,pTHX_3,pTHX_4)
1022 __attribute__nonnull__(pTHX_2)
1023 __attribute__nonnull__(pTHX_3);
1024#define PERL_ARGS_ASSERT_DUMP_INDENT \
1025 assert(file); assert(pat)
255164ba 1026
9a957fbc
AL
1027PERL_CALLCONV void Perl_dump_packsubs(pTHX_ const HV* stash)
1028 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1029#define PERL_ARGS_ASSERT_DUMP_PACKSUBS \
1030 assert(stash)
9a957fbc 1031
f0e3f042
CS
1032PERL_CALLCONV void Perl_dump_packsubs_perl(pTHX_ const HV* stash, bool justperl)
1033 __attribute__nonnull__(pTHX_1);
1034#define PERL_ARGS_ASSERT_DUMP_PACKSUBS_PERL \
1035 assert(stash)
1036
f54cb97a 1037PERL_CALLCONV void Perl_dump_sub(pTHX_ const GV* gv)
abb2c242 1038 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1039#define PERL_ARGS_ASSERT_DUMP_SUB \
1040 assert(gv)
f54cb97a 1041
f0e3f042
CS
1042PERL_CALLCONV void Perl_dump_sub_perl(pTHX_ const GV* gv, bool justperl)
1043 __attribute__nonnull__(pTHX_1);
1044#define PERL_ARGS_ASSERT_DUMP_SUB_PERL \
1045 assert(gv)
1046
e8a67806
NC
1047PERL_CALLCONV void Perl_dump_vindent(pTHX_ I32 level, PerlIO *file, const char* pat, va_list *args)
1048 __attribute__nonnull__(pTHX_2)
1049 __attribute__nonnull__(pTHX_3);
1050#define PERL_ARGS_ASSERT_DUMP_VINDENT \
1051 assert(file); assert(pat)
1052
1053PERL_CALLCONV void Perl_emulate_cop_io(pTHX_ const COP *const c, SV *const sv)
1054 __attribute__nonnull__(pTHX_1)
1055 __attribute__nonnull__(pTHX_2);
1056#define PERL_ARGS_ASSERT_EMULATE_COP_IO \
1057 assert(c); assert(sv)
1058
1059PERL_CALLCONV SV* Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error)
1060 __attribute__nonnull__(pTHX_1);
1061#define PERL_ARGS_ASSERT_EVAL_PV \
1062 assert(p)
1063
1064PERL_CALLCONV I32 Perl_eval_sv(pTHX_ SV* sv, I32 flags)
1065 __attribute__nonnull__(pTHX_1);
1066#define PERL_ARGS_ASSERT_EVAL_SV \
1067 assert(sv)
1068
255164ba
DM
1069PERL_CALLCONV void Perl_fbm_compile(pTHX_ SV* sv, U32 flags)
1070 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1071#define PERL_ARGS_ASSERT_FBM_COMPILE \
1072 assert(sv)
255164ba 1073
9f6cc744 1074PERL_CALLCONV char* Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlestr, U32 flags)
255164ba
DM
1075 __attribute__warn_unused_result__
1076 __attribute__nonnull__(pTHX_1)
1077 __attribute__nonnull__(pTHX_2)
1078 __attribute__nonnull__(pTHX_3);
7918f24d
NC
1079#define PERL_ARGS_ASSERT_FBM_INSTR \
1080 assert(big); assert(bigend); assert(littlestr)
255164ba 1081
3fff3427 1082PERL_CALLCONV bool Perl_feature_is_enabled(pTHX_ const char *const name, STRLEN namelen)
26ea9e12
NC
1083 __attribute__nonnull__(pTHX_1);
1084#define PERL_ARGS_ASSERT_FEATURE_IS_ENABLED \
1085 assert(name)
1086
e8a67806
NC
1087PERL_CALLCONV SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
1088PERL_CALLCONV void Perl_filter_del(pTHX_ filter_t funcp)
1089 __attribute__nonnull__(pTHX_1);
1090#define PERL_ARGS_ASSERT_FILTER_DEL \
1091 assert(funcp)
1092
1093PERL_CALLCONV I32 Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen)
1094 __attribute__warn_unused_result__
1095 __attribute__nonnull__(pTHX_2);
1096#define PERL_ARGS_ASSERT_FILTER_READ \
1097 assert(buf_sv)
1098
d164302a
GG
1099PERL_CALLCONV void Perl_finalize_optree(pTHX_ OP* o)
1100 __attribute__nonnull__(pTHX_1);
1101#define PERL_ARGS_ASSERT_FINALIZE_OPTREE \
1102 assert(o)
1103
9a5e6f3c 1104PERL_CALLCONV CV * Perl_find_lexical_cv(pTHX_ PADOFFSET off);
e8a67806
NC
1105PERL_CALLCONV CV* Perl_find_runcv(pTHX_ U32 *db_seqp)
1106 __attribute__warn_unused_result__;
1107
db4cf31d 1108PERL_CALLCONV CV* Perl_find_runcv_where(pTHX_ U8 cond, IV arg, U32 *db_seqp)
70794f7b
FC
1109 __attribute__warn_unused_result__;
1110
e8a67806 1111PERL_CALLCONV SV* Perl_find_rundefsv(pTHX);
c086f97a
FC
1112PERL_CALLCONV SV* Perl_find_rundefsv2(pTHX_ CV *cv, U32 seq)
1113 __attribute__nonnull__(pTHX_1);
1114#define PERL_ARGS_ASSERT_FIND_RUNDEFSV2 \
1115 assert(cv)
1116
e8a67806
NC
1117PERL_CALLCONV PADOFFSET Perl_find_rundefsvoffset(pTHX)
1118 __attribute__deprecated__;
1119
fb9bf107
NC
1120PERL_CALLCONV char* Perl_find_script(pTHX_ const char *scriptname, bool dosearch, const char *const *const search_ext, I32 flags)
1121 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1122#define PERL_ARGS_ASSERT_FIND_SCRIPT \
1123 assert(scriptname)
fb9bf107 1124
e8a67806
NC
1125PERL_CALLCONV I32 Perl_foldEQ(const char* a, const char* b, I32 len)
1126 __attribute__pure__
1127 __attribute__nonnull__(1)
1128 __attribute__nonnull__(2);
1129#define PERL_ARGS_ASSERT_FOLDEQ \
1130 assert(a); assert(b)
1131
1b9f127b
KW
1132PERL_CALLCONV I32 Perl_foldEQ_latin1(const char* a, const char* b, I32 len)
1133 __attribute__pure__
1134 __attribute__nonnull__(1)
1135 __attribute__nonnull__(2);
1136#define PERL_ARGS_ASSERT_FOLDEQ_LATIN1 \
1137 assert(a); assert(b)
1138
e8a67806
NC
1139PERL_CALLCONV I32 Perl_foldEQ_locale(const char* a, const char* b, I32 len)
1140 __attribute__pure__
1141 __attribute__nonnull__(1)
1142 __attribute__nonnull__(2);
1143#define PERL_ARGS_ASSERT_FOLDEQ_LOCALE \
1144 assert(a); assert(b)
1145
eda9cac1
KW
1146/* PERL_CALLCONV I32 foldEQ_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2)
1147 __attribute__nonnull__(pTHX_1)
1148 __attribute__nonnull__(pTHX_5); */
1149
1150PERL_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)
e8a67806
NC
1151 __attribute__nonnull__(pTHX_1)
1152 __attribute__nonnull__(pTHX_5);
eda9cac1 1153#define PERL_ARGS_ASSERT_FOLDEQ_UTF8_FLAGS \
e8a67806 1154 assert(s1); assert(s2)
f54cb97a 1155
894356b3 1156PERL_CALLCONV char* Perl_form(pTHX_ const char* pat, ...)
aec46f14
AL
1157 __attribute__format__(__printf__,pTHX_1,pTHX_2)
1158 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1159#define PERL_ARGS_ASSERT_FORM \
1160 assert(pat)
aec46f14 1161
e8a67806
NC
1162PERL_CALLCONV void Perl_free_tied_hv_pool(pTHX);
1163PERL_CALLCONV void Perl_free_tmps(pTHX);
1164PERL_CALLCONV AV* Perl_get_av(pTHX_ const char *name, I32 flags)
aec46f14 1165 __attribute__nonnull__(pTHX_1);
e8a67806
NC
1166#define PERL_ARGS_ASSERT_GET_AV \
1167 assert(name)
f54cb97a 1168
e8a67806
NC
1169PERL_CALLCONV void* Perl_get_context(void)
1170 __attribute__warn_unused_result__;
1171
1172PERL_CALLCONV CV* Perl_get_cv(pTHX_ const char* name, I32 flags)
1173 __attribute__nonnull__(pTHX_1);
1174#define PERL_ARGS_ASSERT_GET_CV \
1175 assert(name)
1176
1177PERL_CALLCONV CV* Perl_get_cvn_flags(pTHX_ const char* name, STRLEN len, I32 flags)
1178 __attribute__nonnull__(pTHX_1);
1179#define PERL_ARGS_ASSERT_GET_CVN_FLAGS \
1180 assert(name)
8772537c 1181
005a8a35
NC
1182PERL_CALLCONV void Perl_get_db_sub(pTHX_ SV **svp, CV *cv)
1183 __attribute__nonnull__(pTHX_2);
7918f24d
NC
1184#define PERL_ARGS_ASSERT_GET_DB_SUB \
1185 assert(cv)
005a8a35 1186
a2098e20 1187PERL_CALLCONV void Perl_get_hash_seed(pTHX_ unsigned char * const seed_buffer)
7dc86639
YO
1188 __attribute__nonnull__(pTHX_1);
1189#define PERL_ARGS_ASSERT_GET_HASH_SEED \
1190 assert(seed_buffer)
a28509cc 1191
e8a67806 1192PERL_CALLCONV HV* Perl_get_hv(pTHX_ const char *name, I32 flags)
46c461b5 1193 __attribute__nonnull__(pTHX_1);
e8a67806
NC
1194#define PERL_ARGS_ASSERT_GET_HV \
1195 assert(name)
46c461b5 1196
e8a67806
NC
1197PERL_CALLCONV const char* Perl_get_no_modify(pTHX)
1198 __attribute__warn_unused_result__
1199 __attribute__pure__;
1200
1201PERL_CALLCONV char** Perl_get_op_descs(pTHX)
1202 __attribute__warn_unused_result__
1203 __attribute__pure__;
1204
1205PERL_CALLCONV char** Perl_get_op_names(pTHX)
1206 __attribute__warn_unused_result__
1207 __attribute__pure__;
1208
1209PERL_CALLCONV U32* Perl_get_opargs(pTHX)
1210 __attribute__warn_unused_result__
1211 __attribute__pure__;
1212
1213PERL_CALLCONV PPADDR_t* Perl_get_ppaddr(pTHX)
1214 __attribute__warn_unused_result__
1215 __attribute__pure__;
1216
1217PERL_CALLCONV REGEXP * Perl_get_re_arg(pTHX_ SV *sv);
1218PERL_CALLCONV SV* Perl_get_sv(pTHX_ const char *name, I32 flags)
1219 __attribute__nonnull__(pTHX_1);
1220#define PERL_ARGS_ASSERT_GET_SV \
1221 assert(name)
1222
1223PERL_CALLCONV MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id)
1224 __attribute__warn_unused_result__;
1225
1226PERL_CALLCONV int Perl_getcwd_sv(pTHX_ SV* sv)
1227 __attribute__nonnull__(pTHX_1);
1228#define PERL_ARGS_ASSERT_GETCWD_SV \
1229 assert(sv)
1230
1231PERL_CALLCONV void Perl_gp_free(pTHX_ GV* gv);
1232PERL_CALLCONV GP* Perl_gp_ref(pTHX_ GP* gp);
1233PERL_CALLCONV UV Perl_grok_bin(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
1234 __attribute__nonnull__(pTHX_1)
1235 __attribute__nonnull__(pTHX_2)
1236 __attribute__nonnull__(pTHX_3);
1237#define PERL_ARGS_ASSERT_GROK_BIN \
1238 assert(start); assert(len_p); assert(flags)
1239
e8a67806
NC
1240PERL_CALLCONV UV Perl_grok_hex(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
1241 __attribute__nonnull__(pTHX_1)
1242 __attribute__nonnull__(pTHX_2)
1243 __attribute__nonnull__(pTHX_3);
1244#define PERL_ARGS_ASSERT_GROK_HEX \
1245 assert(start); assert(len_p); assert(flags)
1246
1247PERL_CALLCONV int Perl_grok_number(pTHX_ const char *pv, STRLEN len, UV *valuep)
1248 __attribute__nonnull__(pTHX_1);
1249#define PERL_ARGS_ASSERT_GROK_NUMBER \
1250 assert(pv)
1251
1252PERL_CALLCONV bool Perl_grok_numeric_radix(pTHX_ const char **sp, const char *send)
1253 __attribute__warn_unused_result__
1254 __attribute__nonnull__(pTHX_1)
1255 __attribute__nonnull__(pTHX_2);
1256#define PERL_ARGS_ASSERT_GROK_NUMERIC_RADIX \
1257 assert(sp); assert(send)
1258
1259PERL_CALLCONV UV Perl_grok_oct(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
1260 __attribute__nonnull__(pTHX_1)
1261 __attribute__nonnull__(pTHX_2)
1262 __attribute__nonnull__(pTHX_3);
1263#define PERL_ARGS_ASSERT_GROK_OCT \
1264 assert(start); assert(len_p); assert(flags)
1265
1266/* PERL_CALLCONV GV* Perl_gv_AVadd(pTHX_ GV *gv); */
1267/* PERL_CALLCONV GV* Perl_gv_HVadd(pTHX_ GV *gv); */
1268/* PERL_CALLCONV GV* Perl_gv_IOadd(pTHX_ GV* gv); */
1269PERL_CALLCONV GV* Perl_gv_add_by_type(pTHX_ GV *gv, svtype type);
aa1e761e
FC
1270/* PERL_CALLCONV GV* gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method)
1271 __attribute__warn_unused_result__
1272 __attribute__nonnull__(pTHX_2); */
1273
0eeb01b9 1274PERL_CALLCONV GV* Perl_gv_autoload_pv(pTHX_ HV* stash, const char* namepv, U32 flags)
e8a67806
NC
1275 __attribute__warn_unused_result__
1276 __attribute__nonnull__(pTHX_2);
0fe84f7c 1277#define PERL_ARGS_ASSERT_GV_AUTOLOAD_PV \
5fba3c91
BF
1278 assert(namepv)
1279
0eeb01b9 1280PERL_CALLCONV GV* Perl_gv_autoload_pvn(pTHX_ HV* stash, const char* name, STRLEN len, U32 flags)
5fba3c91
BF
1281 __attribute__warn_unused_result__
1282 __attribute__nonnull__(pTHX_2);
0fe84f7c 1283#define PERL_ARGS_ASSERT_GV_AUTOLOAD_PVN \
e8a67806
NC
1284 assert(name)
1285
0eeb01b9 1286PERL_CALLCONV GV* Perl_gv_autoload_sv(pTHX_ HV* stash, SV* namesv, U32 flags)
5fba3c91
BF
1287 __attribute__warn_unused_result__
1288 __attribute__nonnull__(pTHX_2);
0fe84f7c 1289#define PERL_ARGS_ASSERT_GV_AUTOLOAD_SV \
5fba3c91
BF
1290 assert(namesv)
1291
51da40ed 1292PERL_CALLCONV void Perl_gv_check(pTHX_ HV* stash)
e8a67806
NC
1293 __attribute__nonnull__(pTHX_1);
1294#define PERL_ARGS_ASSERT_GV_CHECK \
1295 assert(stash)
1296
1297PERL_CALLCONV SV* Perl_gv_const_sv(pTHX_ GV* gv)
1298 __attribute__warn_unused_result__
1299 __attribute__nonnull__(pTHX_1);
1300#define PERL_ARGS_ASSERT_GV_CONST_SV \
1301 assert(gv)
1302
1303PERL_CALLCONV void Perl_gv_dump(pTHX_ GV* gv)
1304 __attribute__nonnull__(pTHX_1);
1305#define PERL_ARGS_ASSERT_GV_DUMP \
1306 assert(gv)
1307
1308PERL_CALLCONV void Perl_gv_efullname(pTHX_ SV* sv, const GV* gv)
1309 __attribute__nonnull__(pTHX_1)
1310 __attribute__nonnull__(pTHX_2);
7918f24d
NC
1311#define PERL_ARGS_ASSERT_GV_EFULLNAME \
1312 assert(sv); assert(gv)
46c461b5
AL
1313
1314/* PERL_CALLCONV void Perl_gv_efullname3(pTHX_ SV* sv, const GV* gv, const char* prefix)
1315 __attribute__nonnull__(pTHX_1)
1316 __attribute__nonnull__(pTHX_2); */
7918f24d
NC
1317#define PERL_ARGS_ASSERT_GV_EFULLNAME3 \
1318 assert(sv); assert(gv)
46c461b5
AL
1319
1320PERL_CALLCONV void Perl_gv_efullname4(pTHX_ SV* sv, const GV* gv, const char* prefix, bool keepmain)
1321 __attribute__nonnull__(pTHX_1)
1322 __attribute__nonnull__(pTHX_2);
7918f24d
NC
1323#define PERL_ARGS_ASSERT_GV_EFULLNAME4 \
1324 assert(sv); assert(gv)
46c461b5 1325
53c1dcc0
AL
1326PERL_CALLCONV GV* Perl_gv_fetchfile(pTHX_ const char* name)
1327 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1328#define PERL_ARGS_ASSERT_GV_FETCHFILE \
1329 assert(name)
53c1dcc0 1330
d9095cec
NC
1331PERL_CALLCONV GV* Perl_gv_fetchfile_flags(pTHX_ const char *const name, const STRLEN len, const U32 flags)
1332 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1333#define PERL_ARGS_ASSERT_GV_FETCHFILE_FLAGS \
1334 assert(name)
d9095cec 1335
6c53d59b 1336/* PERL_CALLCONV GV* gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level)
460e5730
FC
1337 __attribute__nonnull__(pTHX_2); */
1338
1339/* PERL_CALLCONV GV* gv_fetchmeth_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level)
6c53d59b
FC
1340 __attribute__nonnull__(pTHX_2); */
1341
d21989ed 1342PERL_CALLCONV GV* Perl_gv_fetchmeth_pv(pTHX_ HV* stash, const char* name, I32 level, U32 flags)
fb9bf107 1343 __attribute__nonnull__(pTHX_2);
d21989ed 1344#define PERL_ARGS_ASSERT_GV_FETCHMETH_PV \
7918f24d 1345 assert(name)
fb9bf107 1346
d21989ed 1347PERL_CALLCONV GV* Perl_gv_fetchmeth_pv_autoload(pTHX_ HV* stash, const char* name, I32 level, U32 flags)
fb9bf107 1348 __attribute__nonnull__(pTHX_2);
d21989ed 1349#define PERL_ARGS_ASSERT_GV_FETCHMETH_PV_AUTOLOAD \
7918f24d 1350 assert(name)
fb9bf107 1351
e6919483
BF
1352PERL_CALLCONV GV* Perl_gv_fetchmeth_pvn(pTHX_ HV* stash, const char* name, STRLEN len, I32 level, U32 flags)
1353 __attribute__nonnull__(pTHX_2);
1354#define PERL_ARGS_ASSERT_GV_FETCHMETH_PVN \
1355 assert(name)
1356
d21989ed
BF
1357PERL_CALLCONV GV* Perl_gv_fetchmeth_pvn_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level, U32 flags)
1358 __attribute__nonnull__(pTHX_2);
1359#define PERL_ARGS_ASSERT_GV_FETCHMETH_PVN_AUTOLOAD \
1360 assert(name)
1361
e6919483
BF
1362PERL_CALLCONV GV* Perl_gv_fetchmeth_sv(pTHX_ HV* stash, SV* namesv, I32 level, U32 flags)
1363 __attribute__nonnull__(pTHX_2);
1364#define PERL_ARGS_ASSERT_GV_FETCHMETH_SV \
1365 assert(namesv)
1366
d21989ed
BF
1367PERL_CALLCONV GV* Perl_gv_fetchmeth_sv_autoload(pTHX_ HV* stash, SV* namesv, I32 level, U32 flags)
1368 __attribute__nonnull__(pTHX_2);
1369#define PERL_ARGS_ASSERT_GV_FETCHMETH_SV_AUTOLOAD \
1370 assert(namesv)
1371
887986eb 1372/* PERL_CALLCONV GV* Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name)
eff494dd 1373 __attribute__nonnull__(pTHX_1)
887986eb 1374 __attribute__nonnull__(pTHX_2); */
7918f24d 1375#define PERL_ARGS_ASSERT_GV_FETCHMETHOD \
eff494dd 1376 assert(stash); assert(name)
fb9bf107
NC
1377
1378PERL_CALLCONV GV* Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload)
eff494dd 1379 __attribute__nonnull__(pTHX_1)
fb9bf107 1380 __attribute__nonnull__(pTHX_2);
7918f24d 1381#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_AUTOLOAD \
eff494dd 1382 assert(stash); assert(name)
fb9bf107 1383
44130a26 1384PERL_CALLCONV GV* Perl_gv_fetchmethod_pv_flags(pTHX_ HV* stash, const char* name, U32 flags)
eff494dd 1385 __attribute__nonnull__(pTHX_1)
256d1bb2 1386 __attribute__nonnull__(pTHX_2);
44130a26 1387#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_PV_FLAGS \
eff494dd 1388 assert(stash); assert(name)
256d1bb2 1389
c60dbbc3 1390PERL_CALLCONV GV* Perl_gv_fetchmethod_pvn_flags(pTHX_ HV* stash, const char* name, const STRLEN len, U32 flags)
44130a26
BF
1391 __attribute__nonnull__(pTHX_1)
1392 __attribute__nonnull__(pTHX_2);
1393#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_PVN_FLAGS \
1394 assert(stash); assert(name)
1395
1396PERL_CALLCONV GV* Perl_gv_fetchmethod_sv_flags(pTHX_ HV* stash, SV* namesv, U32 flags)
1397 __attribute__nonnull__(pTHX_1)
1398 __attribute__nonnull__(pTHX_2);
1399#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_SV_FLAGS \
1400 assert(stash); assert(namesv)
1401
fe9845cc 1402PERL_CALLCONV GV* Perl_gv_fetchpv(pTHX_ const char *nambeg, I32 add, const svtype sv_type)
9a957fbc 1403 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1404#define PERL_ARGS_ASSERT_GV_FETCHPV \
1405 assert(nambeg)
9a957fbc 1406
e8a67806
NC
1407PERL_CALLCONV GV* Perl_gv_fetchpvn_flags(pTHX_ const char* name, STRLEN len, I32 flags, const svtype sv_type)
1408 __attribute__nonnull__(pTHX_1);
1409#define PERL_ARGS_ASSERT_GV_FETCHPVN_FLAGS \
1410 assert(name)
1411
1412PERL_CALLCONV GV* Perl_gv_fetchsv(pTHX_ SV *name, I32 flags, const svtype sv_type)
1413 __attribute__nonnull__(pTHX_1);
1414#define PERL_ARGS_ASSERT_GV_FETCHSV \
1415 assert(name)
1416
9a957fbc
AL
1417PERL_CALLCONV void Perl_gv_fullname(pTHX_ SV* sv, const GV* gv)
1418 __attribute__nonnull__(pTHX_1)
1419 __attribute__nonnull__(pTHX_2);
7918f24d
NC
1420#define PERL_ARGS_ASSERT_GV_FULLNAME \
1421 assert(sv); assert(gv)
9a957fbc
AL
1422
1423/* PERL_CALLCONV void Perl_gv_fullname3(pTHX_ SV* sv, const GV* gv, const char* prefix)
1424 __attribute__nonnull__(pTHX_1)
1425 __attribute__nonnull__(pTHX_2); */
7918f24d
NC
1426#define PERL_ARGS_ASSERT_GV_FULLNAME3 \
1427 assert(sv); assert(gv)
9a957fbc
AL
1428
1429PERL_CALLCONV void Perl_gv_fullname4(pTHX_ SV* sv, const GV* gv, const char* prefix, bool keepmain)
1430 __attribute__nonnull__(pTHX_1)
1431 __attribute__nonnull__(pTHX_2);
7918f24d
NC
1432#define PERL_ARGS_ASSERT_GV_FULLNAME4 \
1433 assert(sv); assert(gv)
9a957fbc 1434
e8a67806
NC
1435PERL_CALLCONV CV* Perl_gv_handler(pTHX_ HV* stash, I32 id)
1436 __attribute__warn_unused_result__;
803f2748 1437
e1104062
FC
1438/* PERL_CALLCONV void gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi)
1439 __attribute__nonnull__(pTHX_1)
1440 __attribute__nonnull__(pTHX_3); */
1441
04ec7e59 1442PERL_CALLCONV void Perl_gv_init_pv(pTHX_ GV* gv, HV* stash, const char* name, U32 flags)
53c1dcc0 1443 __attribute__nonnull__(pTHX_1)
53c1dcc0 1444 __attribute__nonnull__(pTHX_3);
e6066781 1445#define PERL_ARGS_ASSERT_GV_INIT_PV \
7918f24d 1446 assert(gv); assert(name)
53c1dcc0 1447
04ec7e59 1448PERL_CALLCONV void Perl_gv_init_pvn(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, U32 flags)
e6066781
BF
1449 __attribute__nonnull__(pTHX_1)
1450 __attribute__nonnull__(pTHX_3);
1451#define PERL_ARGS_ASSERT_GV_INIT_PVN \
1452 assert(gv); assert(name)
1453
04ec7e59 1454PERL_CALLCONV void Perl_gv_init_sv(pTHX_ GV* gv, HV* stash, SV* namesv, U32 flags)
e6066781
BF
1455 __attribute__nonnull__(pTHX_1)
1456 __attribute__nonnull__(pTHX_3);
1457#define PERL_ARGS_ASSERT_GV_INIT_SV \
1458 assert(gv); assert(namesv)
1459
f5c1e807 1460PERL_CALLCONV void Perl_gv_name_set(pTHX_ GV* gv, const char *name, U32 len, U32 flags)
9f616d01
MHM
1461 __attribute__nonnull__(pTHX_1)
1462 __attribute__nonnull__(pTHX_2);
7918f24d
NC
1463#define PERL_ARGS_ASSERT_GV_NAME_SET \
1464 assert(gv); assert(name)
f5c1e807 1465
da51bb9b 1466PERL_CALLCONV HV* Perl_gv_stashpv(pTHX_ const char* name, I32 flags)
aa924a5a 1467 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1468#define PERL_ARGS_ASSERT_GV_STASHPV \
1469 assert(name)
aa924a5a 1470
da51bb9b 1471PERL_CALLCONV HV* Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 flags)
aa924a5a 1472 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1473#define PERL_ARGS_ASSERT_GV_STASHPVN \
1474 assert(name)
aa924a5a 1475
8798655d
NC
1476PERL_CALLCONV HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 flags)
1477 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1478#define PERL_ARGS_ASSERT_GV_STASHSV \
1479 assert(sv)
8798655d 1480
e8a67806
NC
1481PERL_CALLCONV void Perl_gv_try_downgrade(pTHX_ GV* gv)
1482 __attribute__nonnull__(pTHX_1);
1483#define PERL_ARGS_ASSERT_GV_TRY_DOWNGRADE \
1484 assert(gv)
1485
1486PERL_CALLCONV AV** Perl_hv_backreferences_p(pTHX_ HV *hv)
1487 __attribute__nonnull__(pTHX_1);
1488#define PERL_ARGS_ASSERT_HV_BACKREFERENCES_P \
1489 assert(hv)
1490
4048f010 1491PERL_CALLCONV void Perl_hv_clear(pTHX_ HV *hv);
e8a67806
NC
1492PERL_CALLCONV void Perl_hv_clear_placeholders(pTHX_ HV *hv)
1493 __attribute__nonnull__(pTHX_1);
1494#define PERL_ARGS_ASSERT_HV_CLEAR_PLACEHOLDERS \
1495 assert(hv)
1496
1497PERL_CALLCONV void* Perl_hv_common(pTHX_ HV *hv, SV *keysv, const char* key, STRLEN klen, int flags, int action, SV *val, U32 hash);
1498PERL_CALLCONV void* Perl_hv_common_key_len(pTHX_ HV *hv, const char *key, I32 klen_i32, const int action, SV *val, const U32 hash)
1499 __attribute__nonnull__(pTHX_2);
1500#define PERL_ARGS_ASSERT_HV_COMMON_KEY_LEN \
1501 assert(key)
1502
defdfed5
Z
1503PERL_CALLCONV HV * Perl_hv_copy_hints_hv(pTHX_ HV *const ohv)
1504 __attribute__warn_unused_result__;
1505
4048f010 1506PERL_CALLCONV void Perl_hv_delayfree_ent(pTHX_ HV *hv, HE *entry)
aa924a5a 1507 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1508#define PERL_ARGS_ASSERT_HV_DELAYFREE_ENT \
1509 assert(hv)
aa924a5a 1510
4048f010 1511/* PERL_CALLCONV SV* Perl_hv_delete(pTHX_ HV *hv, const char *key, I32 klen, I32 flags)
a038e571 1512 __attribute__nonnull__(pTHX_2); */
7918f24d
NC
1513#define PERL_ARGS_ASSERT_HV_DELETE \
1514 assert(key)
aa924a5a 1515
4048f010 1516/* PERL_CALLCONV SV* Perl_hv_delete_ent(pTHX_ HV *hv, SV *keysv, I32 flags, U32 hash)
4c2df08c 1517 __attribute__nonnull__(pTHX_2); */
7918f24d
NC
1518#define PERL_ARGS_ASSERT_HV_DELETE_ENT \
1519 assert(keysv)
aa924a5a 1520
e8a67806
NC
1521PERL_CALLCONV HE** Perl_hv_eiter_p(pTHX_ HV *hv)
1522 __attribute__warn_unused_result__
1523 __attribute__nonnull__(pTHX_1);
1524#define PERL_ARGS_ASSERT_HV_EITER_P \
1525 assert(hv)
1526
1527PERL_CALLCONV void Perl_hv_eiter_set(pTHX_ HV *hv, HE *eiter)
1528 __attribute__nonnull__(pTHX_1);
1529#define PERL_ARGS_ASSERT_HV_EITER_SET \
1530 assert(hv)
1531
27a1175b 1532PERL_CALLCONV void Perl_hv_ename_add(pTHX_ HV *hv, const char *name, U32 len, U32 flags)
78b79c77
FC
1533 __attribute__nonnull__(pTHX_1)
1534 __attribute__nonnull__(pTHX_2);
1535#define PERL_ARGS_ASSERT_HV_ENAME_ADD \
1536 assert(hv); assert(name)
1537
27a1175b 1538PERL_CALLCONV void Perl_hv_ename_delete(pTHX_ HV *hv, const char *name, U32 len, U32 flags)
78b79c77
FC
1539 __attribute__nonnull__(pTHX_1)
1540 __attribute__nonnull__(pTHX_2);
1541#define PERL_ARGS_ASSERT_HV_ENAME_DELETE \
1542 assert(hv); assert(name)
1543
4048f010 1544/* PERL_CALLCONV bool Perl_hv_exists(pTHX_ HV *hv, const char *key, I32 klen)
aa924a5a 1545 __attribute__warn_unused_result__
a038e571 1546 __attribute__nonnull__(pTHX_2); */
7918f24d
NC
1547#define PERL_ARGS_ASSERT_HV_EXISTS \
1548 assert(key)
901017d6 1549
4048f010 1550/* PERL_CALLCONV bool Perl_hv_exists_ent(pTHX_ HV *hv, SV *keysv, U32 hash)
aa924a5a 1551 __attribute__warn_unused_result__
4c2df08c 1552 __attribute__nonnull__(pTHX_2); */
7918f24d
NC
1553#define PERL_ARGS_ASSERT_HV_EXISTS_ENT \
1554 assert(keysv)
aa924a5a 1555
4048f010 1556/* PERL_CALLCONV SV** Perl_hv_fetch(pTHX_ HV *hv, const char *key, I32 klen, I32 lval)
a038e571 1557 __attribute__nonnull__(pTHX_2); */
7918f24d
NC
1558#define PERL_ARGS_ASSERT_HV_FETCH \
1559 assert(key)
901017d6 1560
4048f010 1561/* PERL_CALLCONV HE* Perl_hv_fetch_ent(pTHX_ HV *hv, SV *keysv, I32 lval, U32 hash)
4c2df08c 1562 __attribute__nonnull__(pTHX_2); */
7918f24d
NC
1563#define PERL_ARGS_ASSERT_HV_FETCH_ENT \
1564 assert(keysv)
aa924a5a 1565
9faf471a 1566PERL_CALLCONV STRLEN Perl_hv_fill(pTHX_ HV *const hv)
4d0fbddd
NC
1567 __attribute__nonnull__(pTHX_1);
1568#define PERL_ARGS_ASSERT_HV_FILL \
1569 assert(hv)
1570
c77ce6f1 1571PERL_CALLCONV void Perl_hv_free_ent(pTHX_ HV *hv, HE *entry)
abb2c242 1572 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1573#define PERL_ARGS_ASSERT_HV_FREE_ENT \
1574 assert(hv)
a3b680e6 1575
4048f010 1576PERL_CALLCONV I32 Perl_hv_iterinit(pTHX_ HV *hv)
abb2c242 1577 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1578#define PERL_ARGS_ASSERT_HV_ITERINIT \
1579 assert(hv)
a3b680e6
AL
1580
1581PERL_CALLCONV char* Perl_hv_iterkey(pTHX_ HE* entry, I32* retlen)
abb2c242
JH
1582 __attribute__warn_unused_result__
1583 __attribute__nonnull__(pTHX_1)
1584 __attribute__nonnull__(pTHX_2);
7918f24d
NC
1585#define PERL_ARGS_ASSERT_HV_ITERKEY \
1586 assert(entry); assert(retlen)
a3b680e6
AL
1587
1588PERL_CALLCONV SV* Perl_hv_iterkeysv(pTHX_ HE* entry)
abb2c242
JH
1589 __attribute__warn_unused_result__
1590 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1591#define PERL_ARGS_ASSERT_HV_ITERKEYSV \
1592 assert(entry)
a3b680e6 1593
4048f010 1594/* PERL_CALLCONV HE* Perl_hv_iternext(pTHX_ HV *hv)
abb2c242 1595 __attribute__warn_unused_result__
7a7b9979 1596 __attribute__nonnull__(pTHX_1); */
7918f24d
NC
1597#define PERL_ARGS_ASSERT_HV_ITERNEXT \
1598 assert(hv)
a3b680e6 1599
e8a67806
NC
1600PERL_CALLCONV HE* Perl_hv_iternext_flags(pTHX_ HV *hv, I32 flags)
1601 __attribute__warn_unused_result__
1602 __attribute__nonnull__(pTHX_1);
1603#define PERL_ARGS_ASSERT_HV_ITERNEXT_FLAGS \
1604 assert(hv)
1605
4048f010 1606PERL_CALLCONV SV* Perl_hv_iternextsv(pTHX_ HV *hv, char **key, I32 *retlen)
abb2c242
JH
1607 __attribute__warn_unused_result__
1608 __attribute__nonnull__(pTHX_1)
1609 __attribute__nonnull__(pTHX_2)
1610 __attribute__nonnull__(pTHX_3);
7918f24d
NC
1611#define PERL_ARGS_ASSERT_HV_ITERNEXTSV \
1612 assert(hv); assert(key); assert(retlen)
a3b680e6 1613
4048f010 1614PERL_CALLCONV SV* Perl_hv_iterval(pTHX_ HV *hv, HE *entry)
abb2c242
JH
1615 __attribute__warn_unused_result__
1616 __attribute__nonnull__(pTHX_1)
1617 __attribute__nonnull__(pTHX_2);
7918f24d
NC
1618#define PERL_ARGS_ASSERT_HV_ITERVAL \
1619 assert(hv); assert(entry)
a3b680e6 1620
4048f010 1621PERL_CALLCONV void Perl_hv_ksplit(pTHX_ HV *hv, IV newmax)
abb2c242 1622 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1623#define PERL_ARGS_ASSERT_HV_KSPLIT \
1624 assert(hv)
a3b680e6 1625
4048f010 1626/* PERL_CALLCONV void Perl_hv_magic(pTHX_ HV *hv, GV *gv, int how)
bc5cdc23 1627 __attribute__nonnull__(pTHX_1); */
7918f24d
NC
1628#define PERL_ARGS_ASSERT_HV_MAGIC \
1629 assert(hv)
fb9bf107 1630
e8a67806
NC
1631PERL_CALLCONV void Perl_hv_name_set(pTHX_ HV *hv, const char *name, U32 len, U32 flags)
1632 __attribute__nonnull__(pTHX_1);
1633#define PERL_ARGS_ASSERT_HV_NAME_SET \
1634 assert(hv)
1635
1636PERL_CALLCONV I32 Perl_hv_placeholders_get(pTHX_ const HV *hv)
1637 __attribute__warn_unused_result__
1638 __attribute__nonnull__(pTHX_1);
1639#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_GET \
1640 assert(hv)
1641
6174b39a 1642PERL_CALLCONV SSize_t* Perl_hv_placeholders_p(pTHX_ HV *hv)
e8a67806
NC
1643 __attribute__warn_unused_result__
1644 __attribute__nonnull__(pTHX_1);
1645#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_P \
1646 assert(hv)
1647
1648PERL_CALLCONV void Perl_hv_placeholders_set(pTHX_ HV *hv, I32 ph)
1649 __attribute__nonnull__(pTHX_1);
1650#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_SET \
1651 assert(hv)
1652
6a5b4183
YO
1653PERL_CALLCONV void Perl_hv_rand_set(pTHX_ HV *hv, U32 new_xhv_rand)
1654 __attribute__nonnull__(pTHX_1);
1655#define PERL_ARGS_ASSERT_HV_RAND_SET \
1656 assert(hv)
1657
e8a67806
NC
1658PERL_CALLCONV I32* Perl_hv_riter_p(pTHX_ HV *hv)
1659 __attribute__warn_unused_result__
1660 __attribute__nonnull__(pTHX_1);
1661#define PERL_ARGS_ASSERT_HV_RITER_P \
1662 assert(hv)
1663
1664PERL_CALLCONV void Perl_hv_riter_set(pTHX_ HV *hv, I32 riter)
1665 __attribute__nonnull__(pTHX_1);
1666#define PERL_ARGS_ASSERT_HV_RITER_SET \
1667 assert(hv)
1668
1669PERL_CALLCONV SV* Perl_hv_scalar(pTHX_ HV *hv)
1670 __attribute__warn_unused_result__
1671 __attribute__nonnull__(pTHX_1);
1672#define PERL_ARGS_ASSERT_HV_SCALAR \
1673 assert(hv)
012da8e5 1674
4048f010
NC
1675/* PERL_CALLCONV SV** Perl_hv_store(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash); */
1676/* PERL_CALLCONV HE* Perl_hv_store_ent(pTHX_ HV *hv, SV *key, SV *val, U32 hash); */
1677/* PERL_CALLCONV SV** Perl_hv_store_flags(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash, int flags); */
8581adba
FC
1678/* PERL_CALLCONV void hv_undef(pTHX_ HV *hv); */
1679PERL_CALLCONV void Perl_hv_undef_flags(pTHX_ HV *hv, U32 flags);
e6226b18
KW
1680/* PERL_CALLCONV I32 ibcmp(pTHX_ const char* a, const char* b, I32 len)
1681 __attribute__nonnull__(pTHX_1)
1682 __attribute__nonnull__(pTHX_2); */
1683
e6226b18
KW
1684/* PERL_CALLCONV I32 ibcmp_locale(pTHX_ const char* a, const char* b, I32 len)
1685 __attribute__nonnull__(pTHX_1)
1686 __attribute__nonnull__(pTHX_2); */
1687
e6226b18
KW
1688/* PERL_CALLCONV I32 ibcmp_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2)
1689 __attribute__nonnull__(pTHX_1)
1690 __attribute__nonnull__(pTHX_5); */
1691
4373e329 1692PERL_CALLCONV void Perl_init_argv_symbols(pTHX_ int argc, char **argv)
abb2c242 1693 __attribute__nonnull__(pTHX_2);
7918f24d
NC
1694#define PERL_ARGS_ASSERT_INIT_ARGV_SYMBOLS \
1695 assert(argv)
f54cb97a 1696
0d96b528 1697PERL_CALLCONV void Perl_init_constants(pTHX);
8af6f985 1698PERL_CALLCONV void Perl_init_dbargs(pTHX);
1d7c1841 1699PERL_CALLCONV void Perl_init_debugger(pTHX);
e8a67806
NC
1700PERL_CALLCONV int Perl_init_i18nl10n(pTHX_ int printwarn);
1701PERL_CALLCONV int Perl_init_i18nl14n(pTHX_ int printwarn);
1d7c1841 1702PERL_CALLCONV void Perl_init_stacks(pTHX);
bfce84ec
AL
1703PERL_CALLCONV void Perl_init_tm(pTHX_ struct tm *ptm)
1704 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1705#define PERL_ARGS_ASSERT_INIT_TM \
1706 assert(ptm)
bfce84ec 1707
04c9e624 1708PERL_CALLCONV char* Perl_instr(const char* big, const char* little)
b464bac0 1709 __attribute__warn_unused_result__
abb2c242 1710 __attribute__pure__
04c9e624
VP
1711 __attribute__nonnull__(1)
1712 __attribute__nonnull__(2);
7918f24d
NC
1713#define PERL_ARGS_ASSERT_INSTR \
1714 assert(big); assert(little)
f54cb97a 1715
e8a67806
NC
1716PERL_CALLCONV U32 Perl_intro_my(pTHX);
1717PERL_CALLCONV OP* Perl_invert(pTHX_ OP* cmd)
1718 __attribute__warn_unused_result__;
1719
b464bac0 1720PERL_CALLCONV bool Perl_io_close(pTHX_ IO* io, bool not_implicit)
b464bac0 1721 __attribute__nonnull__(pTHX_1);
7918f24d
NC
1722#define PERL_ARGS_ASSERT_IO_CLOSE \
1723 assert(io)
b464bac0 1724
a8a2ceaa
KW
1725PERL_STATIC_INLINE bool S_isALNUM_lazy(pTHX_ const char* p)
1726 __attribute__deprecated__
1727 __attribute__warn_unused_result__
1728 __attribute__pure__
1729 __attribute__nonnull__(pTHX_1);
1730#define PERL_ARGS_ASSERT_ISALNUM_LAZY \
1731 assert(p)
1732
1733PERL_STATIC_INLINE bool S_isIDFIRST_lazy(pTHX_ const char* p)
1734 __attribute__deprecated__
1735 __attribute__warn_unused_result__
1736 __attribute__pure__
1737 __attribute__nonnull__(pTHX_1);
1738#define PERL_ARGS_ASSERT_ISIDFIRST_LAZY \
1739 assert(p)
1740
e8a67806
NC
1741PERL_CALLCONV bool Perl_is_ascii_string(const U8 *s, STRLEN len)
1742 __attribute__nonnull__(1);
1743#define PERL_ARGS_ASSERT_IS_ASCII_STRING \
1744 assert(s)
f54cb97a 1745
e8a67806
NC
1746PERL_CALLCONV I32 Perl_is_lvalue_sub(pTHX)
1747 __attribute__warn_unused_result__;
f54cb97a 1748
c8028aa6
TC
1749PERL_STATIC_INLINE bool S_is_safe_syscall(pTHX_ SV *pv, const char *what, const char *op_name)
1750 __attribute__warn_unused_result__
1751 __attribute__nonnull__(pTHX_1)
1752 __attribute__nonnull__(pTHX_2)
1753 __attribute__nonnull__(pTHX_3);
1754#define PERL_ARGS_ASSERT_IS_SAFE_SYSCALL \
1755 assert(pv); assert(what); assert(op_name)
1756
e8a67806 1757PERL_CALLCONV bool Perl_is_uni_alnum(pTHX_ UV c)
143aeb96 1758 __attribute__deprecated__
abb2c242
JH
1759 __attribute__warn_unused_result__
1760 __attribute__pure__;
f54cb97a 1761
e8a67806 1762PERL_CALLCONV bool Perl_is_uni_alnum_lc(pTHX_ UV c)
143aeb96 1763 __attribute__deprecated__
abb2c242
JH
1764 __attribute__warn_unused_result__
1765 __attribute__pure__;
f54cb97a 1766
5092f92a 1767PERL_CALLCONV bool Perl_is_uni_alnumc(pTHX_ UV c)
143aeb96 1768 __attribute__deprecated__
5092f92a
KW
1769 __attribute__warn_unused_result__
1770 __attribute__pure__;
1771
1772PERL_CALLCONV bool Perl_is_uni_alnumc_lc(pTHX_ UV c)
143aeb96 1773 __attribute__deprecated__
5092f92a
KW
1774 __attribute__warn_unused_result__
1775 __attribute__pure__;
1776
e8a67806 1777PERL_CALLCONV bool Perl_is_uni_alpha(pTHX_ UV c)
143aeb96 1778 __attribute__deprecated__
abb2c242
JH
1779 __attribute__warn_unused_result__
1780 __attribute__pure__;
f54cb97a 1781
e8a67806 1782PERL_CALLCONV bool Perl_is_uni_alpha_lc(pTHX_ UV c)
143aeb96 1783 __attribute__deprecated__
abb2c242
JH
1784 __attribute__warn_unused_result__
1785 __attribute__pure__;
f54cb97a
AL
1786
1787PERL_CALLCONV bool Perl_is_uni_ascii(pTHX_ UV c)
61b19385 1788 __attribute__deprecated__
abb2c242
JH
1789 __attribute__warn_unused_result__
1790 __attribute__pure__;
f54cb97a 1791
e8a67806 1792PERL_CALLCONV bool Perl_is_uni_ascii_lc(pTHX_ UV c)
61b19385 1793 __attribute__deprecated__
abb2c242
JH
1794 __attribute__warn_unused_result__
1795 __attribute__pure__;
f54cb97a 1796
bdd8600f 1797PERL_CALLCONV bool Perl_is_uni_blank(pTHX_ UV c)
61b19385 1798 __attribute__deprecated__
bdd8600f
KW
1799 __attribute__warn_unused_result__
1800 __attribute__pure__;
1801
9e3e825e 1802PERL_CALLCONV bool Perl_is_uni_blank_lc(pTHX_ UV c)
61b19385 1803 __attribute__deprecated__
9e3e825e
KW
1804 __attribute__warn_unused_result__
1805 __attribute__pure__;
1806
f54cb97a 1807PERL_CALLCONV bool Perl_is_uni_cntrl(pTHX_ UV c)
61b19385 1808 __attribute__deprecated__
abb2c242
JH
1809 __attribute__warn_unused_result__
1810 __attribute__pure__;
f54cb97a 1811
e8a67806 1812PERL_CALLCONV bool Perl_is_uni_cntrl_lc(pTHX_ UV c)
61b19385 1813 __attribute__deprecated__
abb2c242
JH
1814 __attribute__warn_unused_result__
1815 __attribute__pure__;
f54cb97a
AL
1816
1817PERL_CALLCONV bool Perl_is_uni_digit(pTHX_ UV c)
143aeb96 1818 __attribute__deprecated__
abb2c242
JH
1819 __attribute__warn_unused_result__
1820 __attribute__pure__;
f54cb97a 1821
e8a67806 1822PERL_CALLCONV bool Perl_is_uni_digit_lc(pTHX_ UV c)
143aeb96 1823 __attribute__deprecated__
abb2c242
JH
1824 __attribute__warn_unused_result__
1825 __attribute__pure__;
f54cb97a 1826
e8a67806 1827PERL_CALLCONV bool Perl_is_uni_graph(pTHX_ UV c)
143aeb96 1828 __attribute__deprecated__
abb2c242
JH
1829 __attribute__warn_unused_result__
1830 __attribute__pure__;
f54cb97a 1831
e8a67806 1832PERL_CALLCONV bool Perl_is_uni_graph_lc(pTHX_ UV c)
143aeb96 1833 __attribute__deprecated__
abb2c242
JH
1834 __attribute__warn_unused_result__
1835 __attribute__pure__;
f54cb97a 1836
e8a67806 1837PERL_CALLCONV bool Perl_is_uni_idfirst(pTHX_ UV c)
143aeb96 1838 __attribute__deprecated__
abb2c242
JH
1839 __attribute__warn_unused_result__
1840 __attribute__pure__;
f54cb97a 1841
e8a67806 1842PERL_CALLCONV bool Perl_is_uni_idfirst_lc(pTHX_ UV c)
61b19385 1843 __attribute__deprecated__
abb2c242
JH
1844 __attribute__warn_unused_result__
1845 __attribute__pure__;
f54cb97a 1846
e8a67806 1847PERL_CALLCONV bool Perl_is_uni_lower(pTHX_ UV c)
143aeb96 1848 __attribute__deprecated__
abb2c242
JH
1849 __attribute__warn_unused_result__
1850 __attribute__pure__;
f54cb97a 1851
e8a67806 1852PERL_CALLCONV bool Perl_is_uni_lower_lc(pTHX_ UV c)
143aeb96 1853 __attribute__deprecated__
abb2c242
JH
1854 __attribute__warn_unused_result__
1855 __attribute__pure__;
f54cb97a 1856
e8a67806 1857PERL_CALLCONV bool Perl_is_uni_print(pTHX_ UV c)
143aeb96 1858 __attribute__deprecated__
abb2c242
JH
1859 __attribute__warn_unused_result__
1860 __attribute__pure__;
f54cb97a 1861
e8a67806 1862PERL_CALLCONV bool Perl_is_uni_print_lc(pTHX_ UV c)
143aeb96 1863 __attribute__deprecated__
abb2c242
JH
1864 __attribute__warn_unused_result__
1865 __attribute__pure__;
f54cb97a 1866
e8a67806 1867PERL_CALLCONV bool Perl_is_uni_punct(pTHX_ UV c)
143aeb96 1868 __attribute__deprecated__
abb2c242
JH
1869 __attribute__warn_unused_result__
1870 __attribute__pure__;
f54cb97a 1871
e8a67806 1872PERL_CALLCONV bool Perl_is_uni_punct_lc(pTHX_ UV c)
143aeb96 1873 __attribute__deprecated__
abb2c242
JH
1874 __attribute__warn_unused_result__
1875 __attribute__pure__;
f54cb97a 1876
e8a67806 1877PERL_CALLCONV bool Perl_is_uni_space(pTHX_ UV c)
61b19385 1878 __attribute__deprecated__
abb2c242
JH
1879 __attribute__warn_unused_result__
1880 __attribute__pure__;
f54cb97a 1881
e8a67806 1882PERL_CALLCONV bool Perl_is_uni_space_lc(pTHX_ UV c)
61b19385 1883 __attribute__deprecated__
abb2c242
JH
1884 __attribute__warn_unused_result__
1885 __attribute__pure__;
f54cb97a 1886
e8a67806 1887PERL_CALLCONV bool Perl_is_uni_upper(pTHX_ UV c)
143aeb96 1888 __attribute__deprecated__
abb2c242
JH
1889 __attribute__warn_unused_result__
1890 __attribute__pure__;
f54cb97a 1891
e8a67806 1892PERL_CALLCONV bool Perl_is_uni_upper_lc(pTHX_ UV c)
143aeb96 1893 __attribute__deprecated__
abb2c242
JH
1894 __attribute__warn_unused_result__
1895 __attribute__pure__;
f54cb97a 1896
e8a67806 1897PERL_CALLCONV bool Perl_is_uni_xdigit(pTHX_ UV c)
61b19385 1898 __attribute__deprecated__
abb2c242
JH
1899 __attribute__warn_unused_result__
1900 __attribute__pure__;
f54cb97a
AL
1901
1902PERL_CALLCONV bool Perl_is_uni_xdigit_lc(pTHX_ UV c)
61b19385 1903 __attribute__deprecated__
abb2c242
JH
1904 __attribute__warn_unused_result__
1905 __attribute__pure__;
f54cb97a 1906
e8a67806 1907PERL_CALLCONV bool Perl_is_utf8_alnum(pTHX_ const U8 *p)
143aeb96 1908 __attribute__deprecated__
d1eb3177
YO
1909 __attribute__warn_unused_result__
1910 __attribute__nonnull__(pTHX_1);
e8a67806 1911#define PERL_ARGS_ASSERT_IS_UTF8_ALNUM \
d1eb3177
YO
1912 assert(p)
1913
5092f92a 1914PERL_CALLCONV bool Perl_is_utf8_alnumc(pTHX_ const U8 *p)
143aeb96 1915 __attribute__deprecated__
5092f92a
KW
1916 __attribute__warn_unused_result__
1917 __attribute__nonnull__(pTHX_1);
1918#define PERL_ARGS_ASSERT_IS_UTF8_ALNUMC \
1919 assert(p)
1920
e8a67806 1921PERL_CALLCONV bool Perl_is_utf8_alpha(pTHX_ const U8 *p)
143aeb96 1922 __attribute__deprecated__
1df70142 1923 __attribute__warn_unused_result__
abb2c242 1924 __attribute__nonnull__(pTHX_1);
e8a67806 1925#define PERL_ARGS_ASSERT_IS_UTF8_ALPHA \
7918f24d 1926 assert(p)
f54cb97a 1927
e8a67806 1928PERL_CALLCONV bool Perl_is_utf8_ascii(pTHX_ const U8 *p)
61b19385 1929 __attribute__deprecated__
1df70142 1930 __attribute__warn_unused_result__
abb2c242 1931 __attribute__nonnull__(pTHX_1);
e8a67806 1932#define PERL_ARGS_ASSERT_IS_UTF8_ASCII \
7918f24d 1933 assert(p)
f54cb97a 1934
bdd8600f 1935PERL_CALLCONV bool Perl_is_utf8_blank(pTHX_ const U8 *p)
61b19385 1936 __attribute__deprecated__
bdd8600f
KW
1937 __attribute__warn_unused_result__
1938 __attribute__nonnull__(pTHX_1);
1939#define PERL_ARGS_ASSERT_IS_UTF8_BLANK \
1940 assert(p)
1941
e8a67806 1942PERL_CALLCONV STRLEN Perl_is_utf8_char(const U8 *s)
76848387 1943 __attribute__deprecated__
e8a67806
NC
1944 __attribute__nonnull__(1);
1945#define PERL_ARGS_ASSERT_IS_UTF8_CHAR \
1946 assert(s)
1947
492a624f
KW
1948PERL_CALLCONV STRLEN Perl_is_utf8_char_buf(const U8 *buf, const U8 *buf_end)
1949 __attribute__nonnull__(1)
1950 __attribute__nonnull__(2);
1951#define PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF \
1952 assert(buf); assert(buf_end)
1953
e8a67806 1954PERL_CALLCONV bool Perl_is_utf8_cntrl(pTHX_ const U8 *p)
61b19385 1955 __attribute__deprecated__
1df70142 1956 __attribute__warn_unused_result__
abb2c242 1957 __attribute__nonnull__(pTHX_1);
e8a67806 1958#define PERL_ARGS_ASSERT_IS_UTF8_CNTRL \
7918f24d 1959 assert(p)
f54cb97a 1960
e8a67806 1961PERL_CALLCONV bool Perl_is_utf8_digit(pTHX_ const U8 *p)
143aeb96 1962 __attribute__deprecated__
1df70142 1963 __attribute__warn_unused_result__
abb2c242 1964 __attribute__nonnull__(pTHX_1);
e8a67806 1965#define PERL_ARGS_ASSERT_IS_UTF8_DIGIT \
7918f24d 1966 assert(p)
f54cb97a 1967
e8a67806 1968PERL_CALLCONV bool Perl_is_utf8_graph(pTHX_ const U8 *p)
143aeb96 1969 __attribute__deprecated__
1df70142 1970 __attribute__warn_unused_result__
abb2c242 1971 __attribute__nonnull__(pTHX_1);
e8a67806 1972#define PERL_ARGS_ASSERT_IS_UTF8_GRAPH \
7918f24d 1973 assert(p)
f54cb97a 1974
e8a67806 1975PERL_CALLCONV bool Perl_is_utf8_idcont(pTHX_ const U8 *p)
61b19385 1976 __attribute__deprecated__
1df70142 1977 __attribute__warn_unused_result__
abb2c242 1978 __attribute__nonnull__(pTHX_1);
e8a67806 1979#define PERL_ARGS_ASSERT_IS_UTF8_IDCONT \
7918f24d 1980 assert(p)
f54cb97a 1981
e8a67806 1982PERL_CALLCONV bool Perl_is_utf8_idfirst(pTHX_ const U8 *p)
61b19385 1983 __attribute__deprecated__
1df70142 1984 __attribute__warn_unused_result__
abb2c242 1985 __attribute__nonnull__(pTHX_1);
e8a67806 1986#define PERL_ARGS_ASSERT_IS_UTF8_IDFIRST \
7918f24d 1987 assert(p)
f54cb97a 1988
e8a67806 1989PERL_CALLCONV bool Perl_is_utf8_lower(pTHX_ const U8 *p)
143aeb96 1990 __attribute__deprecated__
37e2e78e
KW
1991 __attribute__warn_unused_result__
1992 __attribute__nonnull__(pTHX_1);
e8a67806 1993#define PERL_ARGS_ASSERT_IS_UTF8_LOWER \
37e2e78e
KW
1994 assert(p)
1995
e8a67806 1996PERL_CALLCONV bool Perl_is_utf8_mark(pTHX_ const U8 *p)
143aeb96 1997 __attribute__deprecated__
37e2e78e
KW
1998 __attribute__warn_unused_result__
1999 __attribute__nonnull__(pTHX_1);
e8a67806 2000#define PERL_ARGS_ASSERT_IS_UTF8_MARK \
37e2e78e
KW
2001 assert(p)
2002
e8a67806 2003PERL_CALLCONV bool Perl_is_utf8_perl_space(pTHX_ const U8 *p)
61b19385 2004 __attribute__deprecated__
37e2e78e
KW
2005 __attribute__warn_unused_result__
2006 __attribute__nonnull__(pTHX_1);
e8a67806 2007#define PERL_ARGS_ASSERT_IS_UTF8_PERL_SPACE \
37e2e78e
KW
2008 assert(p)
2009
e8a67806 2010PERL_CALLCONV bool Perl_is_utf8_perl_word(pTHX_ const U8 *p)
61b19385 2011 __attribute__deprecated__
37e2e78e
KW
2012 __attribute__warn_unused_result__
2013 __attribute__nonnull__(pTHX_1);
e8a67806 2014#define PERL_ARGS_ASSERT_IS_UTF8_PERL_WORD \
37e2e78e
KW
2015 assert(p)
2016
e8a67806 2017PERL_CALLCONV bool Perl_is_utf8_posix_digit(pTHX_ const U8 *p)
61b19385 2018 __attribute__deprecated__
37e2e78e
KW
2019 __attribute__warn_unused_result__
2020 __attribute__nonnull__(pTHX_1);
e8a67806 2021#define PERL_ARGS_ASSERT_IS_UTF8_POSIX_DIGIT \
37e2e78e
KW
2022 assert(p)
2023
e8a67806 2024PERL_CALLCONV bool Perl_is_utf8_print(pTHX_ const U8 *p)
143aeb96 2025 __attribute__deprecated__
37e2e78e
KW
2026 __attribute__warn_unused_result__
2027 __attribute__nonnull__(pTHX_1);
e8a67806 2028#define PERL_ARGS_ASSERT_IS_UTF8_PRINT \
37e2e78e
KW
2029 assert(p)
2030
e8a67806 2031PERL_CALLCONV bool Perl_is_utf8_punct(pTHX_ const U8 *p)
143aeb96 2032 __attribute__deprecated__
37e2e78e
KW
2033 __attribute__warn_unused_result__
2034 __attribute__nonnull__(pTHX_1);
e8a67806 2035#define PERL_ARGS_ASSERT_IS_UTF8_PUNCT \
37e2e78e
KW
2036 assert(p)
2037
e8a67806 2038PERL_CALLCONV bool Perl_is_utf8_space(pTHX_ const U8 *p)
61b19385 2039 __attribute__deprecated__
37e2e78e
KW
2040 __attribute__warn_unused_result__
2041 __attribute__nonnull__(pTHX_1);
e8a67806 2042#define PERL_ARGS_ASSERT_IS_UTF8_SPACE \
37e2e78e
KW
2043 assert(p)
2044
e8a67806
NC
2045PERL_CALLCONV bool Perl_is_utf8_string(const U8 *s, STRLEN len)
2046 __attribute__nonnull__(1);
2047#define PERL_ARGS_ASSERT_IS_UTF8_STRING \
2048 assert(s)
2049
8fb1bf58 2050/* PERL_CALLCONV bool Perl_is_utf8_string_loc(const U8 *s, STRLEN len, const U8 **ep)
e8a67806
NC
2051 __attribute__nonnull__(1); */
2052#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOC \
2053 assert(s)
2054
2055PERL_CALLCONV bool Perl_is_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el)
2056 __attribute__nonnull__(1);
2057#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN \
2058 assert(s)
2059
2060PERL_CALLCONV bool Perl_is_utf8_upper(pTHX_ const U8 *p)
143aeb96 2061 __attribute__deprecated__
37e2e78e
KW
2062 __attribute__warn_unused_result__
2063 __attribute__nonnull__(pTHX_1);
e8a67806 2064#define PERL_ARGS_ASSERT_IS_UTF8_UPPER \
37e2e78e
KW
2065 assert(p)
2066
e8a67806 2067PERL_CALLCONV bool Perl_is_utf8_xdigit(pTHX_ const U8 *p)
61b19385 2068 __attribute__deprecated__
37e2e78e
KW
2069 __attribute__warn_unused_result__
2070 __attribute__nonnull__(pTHX_1);
e8a67806 2071#define PERL_ARGS_ASSERT_IS_UTF8_XDIGIT \
37e2e78e
KW
2072 assert(p)
2073
c11ff943 2074PERL_CALLCONV bool Perl_is_utf8_xidcont(pTHX_ const U8 *p)
61b19385 2075 __attribute__deprecated__
c11ff943
KW
2076 __attribute__warn_unused_result__
2077 __attribute__nonnull__(pTHX_1);
2078#define PERL_ARGS_ASSERT_IS_UTF8_XIDCONT \
2079 assert(p)
2080
2081PERL_CALLCONV bool Perl_is_utf8_xidfirst(pTHX_ const U8 *p)
61b19385 2082 __attribute__deprecated__
c11ff943
KW
2083 __attribute__warn_unused_result__
2084 __attribute__nonnull__(pTHX_1);
2085#define PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST \
2086 assert(p)
2087
4048f010 2088PERL_CALLCONV OP* Perl_jmaybe(pTHX_ OP *o)
abb2c242 2089 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2090#define PERL_ARGS_ASSERT_JMAYBE \
2091 assert(o)
f54cb97a 2092
4048f010 2093PERL_CALLCONV I32 Perl_keyword(pTHX_ const char *name, I32 len, bool all_keywords)
abb2c242
JH
2094 __attribute__pure__
2095 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2096#define PERL_ARGS_ASSERT_KEYWORD \
2097 assert(name)
f54cb97a 2098
e8a67806
NC
2099PERL_CALLCONV int Perl_keyword_plugin_standard(pTHX_ char* keyword_ptr, STRLEN keyword_len, OP** op_ptr)
2100 __attribute__nonnull__(pTHX_1)
2101 __attribute__nonnull__(pTHX_3);
2102#define PERL_ARGS_ASSERT_KEYWORD_PLUGIN_STANDARD \
2103 assert(keyword_ptr); assert(op_ptr)
867fa1e2 2104
e8a67806
NC
2105PERL_CALLCONV void Perl_leave_scope(pTHX_ I32 base);
2106PERL_CALLCONV bool Perl_lex_bufutf8(pTHX);
2107PERL_CALLCONV void Perl_lex_discard_to(pTHX_ char* ptr)
2f9e2db0 2108 __attribute__nonnull__(pTHX_1);
e8a67806
NC
2109#define PERL_ARGS_ASSERT_LEX_DISCARD_TO \
2110 assert(ptr)
2f9e2db0 2111
f0e67a1d 2112PERL_CALLCONV char* Perl_lex_grow_linestr(pTHX_ STRLEN len);
e8a67806
NC
2113PERL_CALLCONV bool Perl_lex_next_chunk(pTHX_ U32 flags);
2114PERL_CALLCONV I32 Perl_lex_peek_unichar(pTHX_ U32 flags);
2115PERL_CALLCONV void Perl_lex_read_space(pTHX_ U32 flags);
2116PERL_CALLCONV void Perl_lex_read_to(pTHX_ char* ptr)
f0e67a1d 2117 __attribute__nonnull__(pTHX_1);
e8a67806
NC
2118#define PERL_ARGS_ASSERT_LEX_READ_TO \
2119 assert(ptr)
f0e67a1d 2120
e8a67806 2121PERL_CALLCONV I32 Perl_lex_read_unichar(pTHX_ U32 flags);
8eaa0acf 2122PERL_CALLCONV void Perl_lex_start(pTHX_ SV* line, PerlIO *rsfp, U32 flags);
9dcc53ea
Z
2123PERL_CALLCONV void Perl_lex_stuff_pv(pTHX_ const char* pv, U32 flags)
2124 __attribute__nonnull__(pTHX_1);
2125#define PERL_ARGS_ASSERT_LEX_STUFF_PV \
2126 assert(pv)
2127
e8a67806
NC
2128PERL_CALLCONV void Perl_lex_stuff_pvn(pTHX_ const char* pv, STRLEN len, U32 flags)
2129 __attribute__nonnull__(pTHX_1);
2130#define PERL_ARGS_ASSERT_LEX_STUFF_PVN \
2131 assert(pv)
2132
f0e67a1d
Z
2133PERL_CALLCONV void Perl_lex_stuff_sv(pTHX_ SV* sv, U32 flags)
2134 __attribute__nonnull__(pTHX_1);
2135#define PERL_ARGS_ASSERT_LEX_STUFF_SV \
2136 assert(sv)
2137
2138PERL_CALLCONV void Perl_lex_unstuff(pTHX_ char* ptr)
2139 __attribute__nonnull__(pTHX_1);
2140#define PERL_ARGS_ASSERT_LEX_UNSTUFF \
2141 assert(ptr)
2142
1d7c1841 2143PERL_CALLCONV OP* Perl_list(pTHX_ OP* o);
aec46f14
AL
2144PERL_CALLCONV void Perl_load_module(pTHX_ U32 flags, SV* name, SV* ver, ...)
2145 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2146#define PERL_ARGS_ASSERT_LOAD_MODULE \
2147 assert(name)
aec46f14 2148
4048f010 2149PERL_CALLCONV OP* Perl_localize(pTHX_ OP *o, I32 lex)
bfce84ec 2150 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2151#define PERL_ARGS_ASSERT_LOCALIZE \
2152 assert(o)
bfce84ec 2153
aad570aa 2154PERL_CALLCONV I32 Perl_looks_like_number(pTHX_ SV *const sv)
abb2c242
JH
2155 __attribute__warn_unused_result__
2156 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2157#define PERL_ARGS_ASSERT_LOOKS_LIKE_NUMBER \
2158 assert(sv)
f54cb97a 2159
e8a67806 2160PERL_CALLCONV int Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg)
bfce84ec
AL
2161 __attribute__nonnull__(pTHX_1)
2162 __attribute__nonnull__(pTHX_2);
e8a67806
NC
2163#define PERL_ARGS_ASSERT_MAGIC_CLEAR_ALL_ENV \
2164 assert(sv); assert(mg)
bfce84ec 2165
83f29afa
VP
2166PERL_CALLCONV int Perl_magic_cleararylen_p(pTHX_ SV* sv, MAGIC* mg)
2167 __attribute__nonnull__(pTHX_1)
2168 __attribute__nonnull__(pTHX_2);
2169#define PERL_ARGS_ASSERT_MAGIC_CLEARARYLEN_P \
2170 assert(sv); assert(mg)
2171
bfce84ec
AL
2172PERL_CALLCONV int Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg)
2173 __attribute__nonnull__(pTHX_1)
2174 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2175#define PERL_ARGS_ASSERT_MAGIC_CLEARENV \
2176 assert(sv); assert(mg)
bfce84ec 2177
b3ca2e83
NC
2178PERL_CALLCONV int Perl_magic_clearhint(pTHX_ SV* sv, MAGIC* mg)
2179 __attribute__nonnull__(pTHX_1)
2180 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2181#define PERL_ARGS_ASSERT_MAGIC_CLEARHINT \
2182 assert(sv); assert(mg)
b3ca2e83 2183
f747ebd6
Z
2184PERL_CALLCONV int Perl_magic_clearhints(pTHX_ SV* sv, MAGIC* mg)
2185 __attribute__nonnull__(pTHX_1)
2186 __attribute__nonnull__(pTHX_2);
2187#define PERL_ARGS_ASSERT_MAGIC_CLEARHINTS \
2188 assert(sv); assert(mg)
2189
52b45067 2190PERL_CALLCONV int Perl_magic_clearisa(pTHX_ SV* sv, MAGIC* mg)
52b45067 2191 __attribute__nonnull__(pTHX_2);
7918f24d 2192#define PERL_ARGS_ASSERT_MAGIC_CLEARISA \
0e446081 2193 assert(mg)
52b45067 2194
bfce84ec
AL
2195PERL_CALLCONV int Perl_magic_clearpack(pTHX_ SV* sv, MAGIC* mg)
2196 __attribute__nonnull__(pTHX_1)
2197 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2198#define PERL_ARGS_ASSERT_MAGIC_CLEARPACK \
2199 assert(sv); assert(mg)
bfce84ec
AL
2200
2201PERL_CALLCONV int Perl_magic_clearsig(pTHX_ SV* sv, MAGIC* mg)
2202 __attribute__nonnull__(pTHX_1)
2203 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2204#define PERL_ARGS_ASSERT_MAGIC_CLEARSIG \
2205 assert(sv); assert(mg)
bfce84ec 2206
09fb282d
FC
2207PERL_CALLCONV int Perl_magic_copycallchecker(pTHX_ SV* sv, MAGIC *mg, SV *nsv, const char *name, I32 namlen)
2208 __attribute__nonnull__(pTHX_1)
2209 __attribute__nonnull__(pTHX_2)
2210 __attribute__nonnull__(pTHX_3);
2211#define PERL_ARGS_ASSERT_MAGIC_COPYCALLCHECKER \
2212 assert(sv); assert(mg); assert(nsv)
2213
e8a67806 2214PERL_CALLCONV void Perl_magic_dump(pTHX_ const MAGIC *mg);
1146e912 2215PERL_CALLCONV int Perl_magic_existspack(pTHX_ SV* sv, const MAGIC* mg)
bfce84ec
AL
2216 __attribute__nonnull__(pTHX_1)
2217 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2218#define PERL_ARGS_ASSERT_MAGIC_EXISTSPACK \
2219 assert(sv); assert(mg)
bfce84ec 2220
e8a67806
NC
2221PERL_CALLCONV int Perl_magic_freearylen_p(pTHX_ SV* sv, MAGIC* mg)
2222 __attribute__nonnull__(pTHX_1)
2223 __attribute__nonnull__(pTHX_2);
2224#define PERL_ARGS_ASSERT_MAGIC_FREEARYLEN_P \
2225 assert(sv); assert(mg)
2226
bfce84ec
AL
2227PERL_CALLCONV int Perl_magic_freeovrld(pTHX_ SV* sv, MAGIC* mg)
2228 __attribute__nonnull__(pTHX_1)
2229 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2230#define PERL_ARGS_ASSERT_MAGIC_FREEOVRLD \
2231 assert(sv); assert(mg)
bfce84ec
AL
2232
2233PERL_CALLCONV int Perl_magic_get(pTHX_ SV* sv, MAGIC* mg)
2234 __attribute__nonnull__(pTHX_1)
2235 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2236#define PERL_ARGS_ASSERT_MAGIC_GET \
2237 assert(sv); assert(mg)
901017d6 2238
8772537c
AL
2239PERL_CALLCONV int Perl_magic_getarylen(pTHX_ SV* sv, const MAGIC* mg)
2240 __attribute__nonnull__(pTHX_1)
2241 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2242#define PERL_ARGS_ASSERT_MAGIC_GETARYLEN \
2243 assert(sv); assert(mg)
8772537c 2244
bfce84ec
AL
2245PERL_CALLCONV int Perl_magic_getdefelem(pTHX_ SV* sv, MAGIC* mg)
2246 __attribute__nonnull__(pTHX_1)
2247 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2248#define PERL_ARGS_ASSERT_MAGIC_GETDEFELEM \
2249 assert(sv); assert(mg)
bfce84ec 2250
bfce84ec
AL
2251PERL_CALLCONV int Perl_magic_getnkeys(pTHX_ SV* sv, MAGIC* mg)
2252 __attribute__nonnull__(pTHX_1)
2253 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2254#define PERL_ARGS_ASSERT_MAGIC_GETNKEYS \
2255 assert(sv); assert(mg)
bfce84ec
AL
2256
2257PERL_CALLCONV int Perl_magic_getpack(pTHX_ SV* sv, MAGIC* mg)
2258 __attribute__nonnull__(pTHX_1)
2259 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2260#define PERL_ARGS_ASSERT_MAGIC_GETPACK \
2261 assert(sv); assert(mg)
bfce84ec
AL
2262
2263PERL_CALLCONV int Perl_magic_getpos(pTHX_ SV* sv, MAGIC* mg)
2264 __attribute__nonnull__(pTHX_1)
2265 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2266#define PERL_ARGS_ASSERT_MAGIC_GETPOS \
2267 assert(sv); assert(mg)
bfce84ec
AL
2268
2269PERL_CALLCONV int Perl_magic_getsig(pTHX_ SV* sv, MAGIC* mg)
2270 __attribute__nonnull__(pTHX_1)
2271 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2272#define PERL_ARGS_ASSERT_MAGIC_GETSIG \
2273 assert(sv); assert(mg)
bfce84ec
AL
2274
2275PERL_CALLCONV int Perl_magic_getsubstr(pTHX_ SV* sv, MAGIC* mg)
2276 __attribute__nonnull__(pTHX_1)
2277 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2278#define PERL_ARGS_ASSERT_MAGIC_GETSUBSTR \
2279 assert(sv); assert(mg)
bfce84ec
AL
2280
2281PERL_CALLCONV int Perl_magic_gettaint(pTHX_ SV* sv, MAGIC* mg)
2282 __attribute__nonnull__(pTHX_1)
2283 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2284#define PERL_ARGS_ASSERT_MAGIC_GETTAINT \
2285 assert(sv); assert(mg)
bfce84ec
AL
2286
2287PERL_CALLCONV int Perl_magic_getuvar(pTHX_ SV* sv, MAGIC* mg)
2288 __attribute__nonnull__(pTHX_1)
2289 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2290#define PERL_ARGS_ASSERT_MAGIC_GETUVAR \
2291 assert(sv); assert(mg)
bfce84ec
AL
2292
2293PERL_CALLCONV int Perl_magic_getvec(pTHX_ SV* sv, MAGIC* mg)
2294 __attribute__nonnull__(pTHX_1)
2295 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2296#define PERL_ARGS_ASSERT_MAGIC_GETVEC \
2297 assert(sv); assert(mg)
bfce84ec 2298
e8a67806
NC
2299PERL_CALLCONV int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg)
2300 __attribute__nonnull__(pTHX_1)
2301 __attribute__nonnull__(pTHX_2);
2302#define PERL_ARGS_ASSERT_MAGIC_KILLBACKREFS \
2303 assert(sv); assert(mg)
2304
36925d9e 2305PERL_CALLCONV SV* Perl_magic_methcall(pTHX_ SV *sv, const MAGIC *mg, SV *meth, U32 flags, U32 argc, ...)
e8a67806
NC
2306 __attribute__nonnull__(pTHX_1)
2307 __attribute__nonnull__(pTHX_2)
2308 __attribute__nonnull__(pTHX_3);
2309#define PERL_ARGS_ASSERT_MAGIC_METHCALL \
2310 assert(sv); assert(mg); assert(meth)
2311
4048f010 2312PERL_CALLCONV int Perl_magic_nextpack(pTHX_ SV *sv, MAGIC *mg, SV *key)
bfce84ec
AL
2313 __attribute__nonnull__(pTHX_1)
2314 __attribute__nonnull__(pTHX_2)
2315 __attribute__nonnull__(pTHX_3);
7918f24d
NC
2316#define PERL_ARGS_ASSERT_MAGIC_NEXTPACK \
2317 assert(sv); assert(mg); assert(key)
bfce84ec
AL
2318
2319PERL_CALLCONV U32 Perl_magic_regdata_cnt(pTHX_ SV* sv, MAGIC* mg)
2320 __attribute__nonnull__(pTHX_1)
2321 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2322#define PERL_ARGS_ASSERT_MAGIC_REGDATA_CNT \
2323 assert(sv); assert(mg)
bfce84ec
AL
2324
2325PERL_CALLCONV int Perl_magic_regdatum_get(pTHX_ SV* sv, MAGIC* mg)
2326 __attribute__nonnull__(pTHX_1)
2327 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2328#define PERL_ARGS_ASSERT_MAGIC_REGDATUM_GET \
2329 assert(sv); assert(mg)
bfce84ec 2330
e8a67806
NC
2331PERL_CALLCONV SV* Perl_magic_scalarpack(pTHX_ HV *hv, MAGIC *mg)
2332 __attribute__nonnull__(pTHX_1)
2333 __attribute__nonnull__(pTHX_2);
2334#define PERL_ARGS_ASSERT_MAGIC_SCALARPACK \
2335 assert(hv); assert(mg)
2336
bfce84ec
AL
2337PERL_CALLCONV int Perl_magic_set(pTHX_ SV* sv, MAGIC* mg)
2338 __attribute__nonnull__(pTHX_1)
2339 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2340#define PERL_ARGS_ASSERT_MAGIC_SET \
2341 assert(sv); assert(mg)
bfce84ec 2342
e8a67806 2343PERL_CALLCONV int Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg)
bfce84ec
AL
2344 __attribute__nonnull__(pTHX_1)
2345 __attribute__nonnull__(pTHX_2);
e8a67806 2346#define PERL_ARGS_ASSERT_MAGIC_SET_ALL_ENV \
7918f24d 2347 assert(sv); assert(mg)
bfce84ec 2348
e8a67806 2349PERL_CALLCONV int Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg)
bfce84ec
AL
2350 __attribute__nonnull__(pTHX_1)
2351 __attribute__nonnull__(pTHX_2);
e8a67806 2352#define PERL_ARGS_ASSERT_MAGIC_SETARYLEN \
7918f24d 2353 assert(sv); assert(mg)
bfce84ec 2354
488344d2 2355PERL_CALLCONV int Perl_magic_setdbline(pTHX_ SV* sv, MAGIC* mg)
bfce84ec
AL
2356 __attribute__nonnull__(pTHX_1)
2357 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2358#define PERL_ARGS_ASSERT_MAGIC_SETDBLINE \
2359 assert(sv); assert(mg)
bfce84ec 2360
488344d2 2361PERL_CALLCONV int Perl_magic_setdefelem(pTHX_ SV* sv, MAGIC* mg)
bfce84ec
AL
2362 __attribute__nonnull__(pTHX_1)
2363 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2364#define PERL_ARGS_ASSERT_MAGIC_SETDEFELEM \
2365 assert(sv); assert(mg)
bfce84ec 2366
488344d2 2367PERL_CALLCONV int Perl_magic_setenv(pTHX_ SV* sv, MAGIC* mg)
bfce84ec
AL
2368 __attribute__nonnull__(pTHX_1)
2369 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2370#define PERL_ARGS_ASSERT_MAGIC_SETENV \
2371 assert(sv); assert(mg)
bfce84ec 2372
b3ca2e83
NC
2373PERL_CALLCONV int Perl_magic_sethint(pTHX_ SV* sv, MAGIC* mg)
2374 __attribute__nonnull__(pTHX_1)
2375 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2376#define PERL_ARGS_ASSERT_MAGIC_SETHINT \
2377 assert(sv); assert(mg)
b3ca2e83 2378
bfce84ec
AL
2379PERL_CALLCONV int Perl_magic_setisa(pTHX_ SV* sv, MAGIC* mg)
2380 __attribute__nonnull__(pTHX_1)
2381 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2382#define PERL_ARGS_ASSERT_MAGIC_SETISA \
2383 assert(sv); assert(mg)
bfce84ec 2384
bfce84ec
AL
2385PERL_CALLCONV int Perl_magic_setmglob(pTHX_ SV* sv, MAGIC* mg)
2386 __attribute__nonnull__(pTHX_1)
2387 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2388#define PERL_ARGS_ASSERT_MAGIC_SETMGLOB \
2389 assert(sv); assert(mg)
bfce84ec
AL
2390
2391PERL_CALLCONV int Perl_magic_setnkeys(pTHX_ SV* sv, MAGIC* mg)
2392 __attribute__nonnull__(pTHX_1)
2393 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2394#define PERL_ARGS_ASSERT_MAGIC_SETNKEYS \
2395 assert(sv); assert(mg)
bfce84ec
AL
2396
2397PERL_CALLCONV int Perl_magic_setpack(pTHX_ SV* sv, MAGIC* mg)
2398 __attribute__nonnull__(pTHX_1)
2399 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2400#define PERL_ARGS_ASSERT_MAGIC_SETPACK \
2401 assert(sv); assert(mg)
bfce84ec
AL
2402
2403PERL_CALLCONV int Perl_magic_setpos(pTHX_ SV* sv, MAGIC* mg)
2404 __attribute__nonnull__(pTHX_1)
2405 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2406#define PERL_ARGS_ASSERT_MAGIC_SETPOS \
2407 assert(sv); assert(mg)
bfce84ec
AL
2408
2409PERL_CALLCONV int Perl_magic_setregexp(pTHX_ SV* sv, MAGIC* mg)
2410 __attribute__nonnull__(pTHX_1)
2411 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2412#define PERL_ARGS_ASSERT_MAGIC_SETREGEXP \
2413 assert(sv); assert(mg)
bfce84ec
AL
2414
2415PERL_CALLCONV int Perl_magic_setsig(pTHX_ SV* sv, MAGIC* mg)
bfce84ec 2416 __attribute__nonnull__(pTHX_2);
7918f24d 2417#define PERL_ARGS_ASSERT_MAGIC_SETSIG \
38a124f0 2418 assert(mg)
bfce84ec
AL
2419
2420PERL_CALLCONV int Perl_magic_setsubstr(pTHX_ SV* sv, MAGIC* mg)
2421 __attribute__nonnull__(pTHX_1)
2422 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2423#define PERL_ARGS_ASSERT_MAGIC_SETSUBSTR \
2424 assert(sv); assert(mg)
bfce84ec
AL
2425
2426PERL_CALLCONV int Perl_magic_settaint(pTHX_ SV* sv, MAGIC* mg)
2427 __attribute__nonnull__(pTHX_1)
2428 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2429#define PERL_ARGS_ASSERT_MAGIC_SETTAINT \
2430 assert(sv); assert(mg)
bfce84ec 2431
e8a67806 2432PERL_CALLCONV int Perl_magic_setutf8(pTHX_ SV* sv, MAGIC* mg)
bfce84ec
AL
2433 __attribute__nonnull__(pTHX_1)
2434 __attribute__nonnull__(pTHX_2);
e8a67806 2435#define PERL_ARGS_ASSERT_MAGIC_SETUTF8 \
7918f24d 2436 assert(sv); assert(mg)
bfce84ec 2437
e8a67806 2438PERL_CALLCONV int Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg)
bfce84ec
AL
2439 __attribute__nonnull__(pTHX_1)
2440 __attribute__nonnull__(pTHX_2);
e8a67806 2441#define PERL_ARGS_ASSERT_MAGIC_SETUVAR \
7918f24d 2442 assert(sv); assert(mg)
bfce84ec 2443
e8a67806 2444PERL_CALLCONV int Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg)
bfce84ec
AL
2445 __attribute__nonnull__(pTHX_1)
2446 __attribute__nonnull__(pTHX_2);
e8a67806 2447#define PERL_ARGS_ASSERT_MAGIC_SETVEC \
7918f24d 2448 assert(sv); assert(mg)
bfce84ec
AL
2449
2450PERL_CALLCONV U32 Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg)
2451 __attribute__nonnull__(pTHX_1)
2452 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2453#define PERL_ARGS_ASSERT_MAGIC_SIZEPACK \
2454 assert(sv); assert(mg)
bfce84ec
AL
2455
2456PERL_CALLCONV int Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg)
2457 __attribute__nonnull__(pTHX_1)
2458 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2459#define PERL_ARGS_ASSERT_MAGIC_WIPEPACK \
2460 assert(sv); assert(mg)
bfce84ec 2461
e8a67806
NC
2462PERL_CALLCONV Malloc_t Perl_malloc(MEM_SIZE nbytes)
2463 __attribute__malloc__
2464 __attribute__warn_unused_result__;
efaf3674 2465
1d7c1841 2466PERL_CALLCONV void Perl_markstack_grow(pTHX);
894356b3 2467PERL_CALLCONV SV* Perl_mess(pTHX_ const char* pat, ...)
aec46f14
AL
2468 __attribute__format__(__printf__,pTHX_1,pTHX_2)
2469 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2470#define PERL_ARGS_ASSERT_MESS \
2471 assert(pat)
aec46f14 2472
c5df3096
Z
2473PERL_CALLCONV SV* Perl_mess_sv(pTHX_ SV* basemsg, bool consume)
2474 __attribute__nonnull__(pTHX_1);
2475#define PERL_ARGS_ASSERT_MESS_SV \
2476 assert(basemsg)
2477
e8a67806 2478PERL_CALLCONV Free_t Perl_mfree(Malloc_t where);
9a957fbc
AL
2479PERL_CALLCONV int Perl_mg_clear(pTHX_ SV* sv)
2480 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2481#define PERL_ARGS_ASSERT_MG_CLEAR \
2482 assert(sv)
9a957fbc 2483
4048f010 2484PERL_CALLCONV int Perl_mg_copy(pTHX_ SV *sv, SV *nsv, const char *key, I32 klen)
9a957fbc
AL
2485 __attribute__nonnull__(pTHX_1)
2486 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2487#define PERL_ARGS_ASSERT_MG_COPY \
2488 assert(sv); assert(nsv)
9a957fbc 2489
255164ba
DM
2490PERL_CALLCONV MAGIC* Perl_mg_find(pTHX_ const SV* sv, int type)
2491 __attribute__warn_unused_result__;
2492
96c2a8ff
FC
2493PERL_CALLCONV MAGIC* Perl_mg_find_mglob(pTHX_ SV* sv)
2494 __attribute__warn_unused_result__
2495 __attribute__nonnull__(pTHX_1);
2496#define PERL_ARGS_ASSERT_MG_FIND_MGLOB \
2497 assert(sv)
2498
39de7f53
FR
2499PERL_CALLCONV MAGIC* Perl_mg_findext(pTHX_ const SV* sv, int type, const MGVTBL *vtbl)
2500 __attribute__warn_unused_result__;
2501
9a957fbc
AL
2502PERL_CALLCONV int Perl_mg_free(pTHX_ SV* sv)
2503 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2504#define PERL_ARGS_ASSERT_MG_FREE \
2505 assert(sv)
9a957fbc 2506
d9088386
Z
2507PERL_CALLCONV void Perl_mg_free_type(pTHX_ SV* sv, int how)
2508 __attribute__nonnull__(pTHX_1);
2509#define PERL_ARGS_ASSERT_MG_FREE_TYPE \
2510 assert(sv)
2511
9a957fbc
AL
2512PERL_CALLCONV int Perl_mg_get(pTHX_ SV* sv)
2513 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2514#define PERL_ARGS_ASSERT_MG_GET \
2515 assert(sv)
9a957fbc
AL
2516
2517PERL_CALLCONV U32 Perl_mg_length(pTHX_ SV* sv)
bd8446cf 2518 __attribute__deprecated__
9a957fbc 2519 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2520#define PERL_ARGS_ASSERT_MG_LENGTH \
2521 assert(sv)
9a957fbc 2522
e8a67806
NC
2523PERL_CALLCONV void Perl_mg_localize(pTHX_ SV* sv, SV* nsv, bool setmagic)
2524 __attribute__nonnull__(pTHX_1)
2525 __attribute__nonnull__(pTHX_2);
2526#define PERL_ARGS_ASSERT_MG_LOCALIZE \
2527 assert(sv); assert(nsv)
2528
9a957fbc
AL
2529PERL_CALLCONV void Perl_mg_magical(pTHX_ SV* sv)
2530 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2531#define PERL_ARGS_ASSERT_MG_MAGICAL \
2532 assert(sv)
9a957fbc
AL
2533
2534PERL_CALLCONV int Perl_mg_set(pTHX_ SV* sv)
2535 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2536#define PERL_ARGS_ASSERT_MG_SET \
2537 assert(sv)
9a957fbc
AL
2538
2539PERL_CALLCONV I32 Perl_mg_size(pTHX_ SV* sv)
2540 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2541#define PERL_ARGS_ASSERT_MG_SIZE \
2542 assert(sv)
9a957fbc 2543
9f6cc744 2544PERL_CALLCONV void Perl_mini_mktime(pTHX_ struct tm *ptm)
9a957fbc 2545 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2546#define PERL_ARGS_ASSERT_MINI_MKTIME \
2547 assert(ptm)
9a957fbc 2548
a79b25b7 2549PERL_CALLCONV int Perl_mode_from_discipline(pTHX_ const char* s, STRLEN len);
e8a67806 2550PERL_CALLCONV void * Perl_more_bodies(pTHX_ const svtype sv_type, const size_t body_size, const size_t arena_size);
c7030b81 2551PERL_CALLCONV const char* Perl_moreswitches(pTHX_ const char* s)
bfce84ec 2552 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2553#define PERL_ARGS_ASSERT_MORESWITCHES \
2554 assert(s)
bfce84ec 2555
e8a67806 2556PERL_CALLCONV const struct mro_alg * Perl_mro_get_from_name(pTHX_ SV *name)
abb2c242 2557 __attribute__nonnull__(pTHX_1);
e8a67806
NC
2558#define PERL_ARGS_ASSERT_MRO_GET_FROM_NAME \
2559 assert(name)
f54cb97a 2560
e8a67806
NC
2561PERL_CALLCONV AV* Perl_mro_get_linear_isa(pTHX_ HV* stash)
2562 __attribute__nonnull__(pTHX_1);
2563#define PERL_ARGS_ASSERT_MRO_GET_LINEAR_ISA \
2564 assert(stash)
f54cb97a 2565
e8a67806
NC
2566PERL_CALLCONV SV* Perl_mro_get_private_data(pTHX_ struct mro_meta *const smeta, const struct mro_alg *const which)
2567 __attribute__nonnull__(pTHX_1)
2568 __attribute__nonnull__(pTHX_2);
2569#define PERL_ARGS_ASSERT_MRO_GET_PRIVATE_DATA \
2570 assert(smeta); assert(which)
f54cb97a 2571
4df35a07
FC
2572PERL_CALLCONV void Perl_mro_isa_changed_in(pTHX_ HV* stash)
2573 __attribute__nonnull__(pTHX_1);
2574#define PERL_ARGS_ASSERT_MRO_ISA_CHANGED_IN \
2575 assert(stash)
e8a67806
NC
2576
2577PERL_CALLCONV struct mro_meta* Perl_mro_meta_init(pTHX_ HV* stash)
2578 __attribute__nonnull__(pTHX_1);
2579#define PERL_ARGS_ASSERT_MRO_META_INIT \
2580 assert(stash)
2581
2582PERL_CALLCONV void Perl_mro_method_changed_in(pTHX_ HV* stash)
2583 __attribute__nonnull__(pTHX_1);
2584#define PERL_ARGS_ASSERT_MRO_METHOD_CHANGED_IN \
2585 assert(stash)
2586
afdbe55d
FC
2587PERL_CALLCONV void Perl_mro_package_moved(pTHX_ HV * const stash, HV * const oldstash, const GV * const gv, U32 flags)
2588 __attribute__nonnull__(pTHX_3);
2589#define PERL_ARGS_ASSERT_MRO_PACKAGE_MOVED \
2590 assert(gv)
2591
e8a67806
NC
2592PERL_CALLCONV void Perl_mro_register(pTHX_ const struct mro_alg *mro)
2593 __attribute__nonnull__(pTHX_1);
2594#define PERL_ARGS_ASSERT_MRO_REGISTER \
2595 assert(mro)
2596
2597PERL_CALLCONV void Perl_mro_set_mro(pTHX_ struct mro_meta *const meta, SV *const name)
2598 __attribute__nonnull__(pTHX_1)
2599 __attribute__nonnull__(pTHX_2);
2600#define PERL_ARGS_ASSERT_MRO_SET_MRO \
2601 assert(meta); assert(name)
2602
2603PERL_CALLCONV SV* Perl_mro_set_private_data(pTHX_ struct mro_meta *const smeta, const struct mro_alg *const which, SV *const data)
2604 __attribute__nonnull__(pTHX_1)
2605 __attribute__nonnull__(pTHX_2)
2606 __attribute__nonnull__(pTHX_3);
2607#define PERL_ARGS_ASSERT_MRO_SET_PRIVATE_DATA \
2608 assert(smeta); assert(which); assert(data)
2609
e8a67806
NC
2610PERL_CALLCONV NV Perl_my_atof(pTHX_ const char *s)
2611 __attribute__nonnull__(pTHX_1);
2612#define PERL_ARGS_ASSERT_MY_ATOF \
2613 assert(s)
2614
2615PERL_CALLCONV char* Perl_my_atof2(pTHX_ const char *s, NV* value)
2616 __attribute__nonnull__(pTHX_1)
2617 __attribute__nonnull__(pTHX_2);
2618#define PERL_ARGS_ASSERT_MY_ATOF2 \
2619 assert(s); assert(value)
2620
2621PERL_CALLCONV OP * Perl_my_attrs(pTHX_ OP *o, OP *attrs)
2622 __attribute__nonnull__(pTHX_1);
2623#define PERL_ARGS_ASSERT_MY_ATTRS \
2624 assert(o)
2625
2626PERL_CALLCONV void Perl_my_clearenv(pTHX);
2627PERL_CALLCONV int Perl_my_dirfd(pTHX_ DIR* dir);
12a2785c 2628PERL_CALLCONV_NO_RET void Perl_my_exit(pTHX_ U32 status)
abb2c242 2629 __attribute__noreturn__;
f54cb97a 2630
12a2785c 2631PERL_CALLCONV_NO_RET void Perl_my_failure_exit(pTHX)
abb2c242 2632 __attribute__noreturn__;
f54cb97a 2633
1d7c1841 2634PERL_CALLCONV I32 Perl_my_fflush_all(pTHX);
52e18b1f 2635PERL_CALLCONV Pid_t Perl_my_fork(void);
0d7d409d
DM
2636/* PERL_CALLCONV I32 Perl_my_lstat(pTHX); */
2637PERL_CALLCONV I32 Perl_my_lstat_flags(pTHX_ const U32 flags);
c9289b7b 2638PERL_CALLCONV PerlIO* Perl_my_popen_list(pTHX_ const char* mode, int n, SV ** args)
bfce84ec
AL
2639 __attribute__nonnull__(pTHX_1)
2640 __attribute__nonnull__(pTHX_3);
7918f24d
NC
2641#define PERL_ARGS_ASSERT_MY_POPEN_LIST \
2642 assert(mode); assert(args)
bfce84ec 2643
e1ec3a88 2644PERL_CALLCONV void Perl_my_setenv(pTHX_ const char* nam, const char* val);
e8a67806
NC
2645PERL_CALLCONV int Perl_my_snprintf(char *buffer, const Size_t len, const char *format, ...)
2646 __attribute__format__(__printf__,3,4)
2647 __attribute__nonnull__(1)
2648 __attribute__nonnull__(3);
2649#define PERL_ARGS_ASSERT_MY_SNPRINTF \
2650 assert(buffer); assert(format)
2651
2652PERL_CALLCONV int Perl_my_socketpair(int family, int type, int protocol, int fd[2]);
0d7d409d
DM
2653/* PERL_CALLCONV I32 Perl_my_stat(pTHX); */
2654PERL_CALLCONV I32 Perl_my_stat_flags(pTHX_ const U32 flags);
bfce84ec
AL
2655PERL_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)
2656 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2657#define PERL_ARGS_ASSERT_MY_STRFTIME \
2658 assert(fmt)
bfce84ec 2659
e8a67806
NC
2660PERL_CALLCONV void Perl_my_unexec(pTHX);
2661PERL_CALLCONV int Perl_my_vsnprintf(char *buffer, const Size_t len, const char *format, va_list ap)
2662 __attribute__nonnull__(1)
2663 __attribute__nonnull__(3);
2664#define PERL_ARGS_ASSERT_MY_VSNPRINTF \
2665 assert(buffer); assert(format)
f54cb97a 2666
e8a67806
NC
2667PERL_CALLCONV OP* Perl_newANONATTRSUB(pTHX_ I32 floor, OP *proto, OP *attrs, OP *block);
2668PERL_CALLCONV OP* Perl_newANONHASH(pTHX_ OP* o)
abb2c242 2669 __attribute__malloc__
e8a67806 2670 __attribute__warn_unused_result__;
f54cb97a 2671
f54cb97a 2672PERL_CALLCONV OP* Perl_newANONLIST(pTHX_ OP* o)
abb2c242
JH
2673 __attribute__malloc__
2674 __attribute__warn_unused_result__;
f54cb97a 2675
e8a67806
NC
2676PERL_CALLCONV OP* Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block);
2677PERL_CALLCONV OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right)
abb2c242
JH
2678 __attribute__malloc__
2679 __attribute__warn_unused_result__;
f54cb97a 2680
e8a67806 2681PERL_CALLCONV CV* Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
7e68c38b 2682PERL_CALLCONV CV* Perl_newATTRSUB_flags(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block, U32 flags);
e8a67806
NC
2683/* PERL_CALLCONV AV* Perl_newAV(pTHX)
2684 __attribute__warn_unused_result__; */
2685
2686PERL_CALLCONV OP* Perl_newAVREF(pTHX_ OP* o)
2687 __attribute__malloc__
2688 __attribute__warn_unused_result__
2689 __attribute__nonnull__(pTHX_1);
2690#define PERL_ARGS_ASSERT_NEWAVREF \
2691 assert(o)
2692
2693PERL_CALLCONV OP* Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last)
abb2c242
JH
2694 __attribute__malloc__
2695 __attribute__warn_unused_result__;
f54cb97a 2696
aec46f14 2697PERL_CALLCONV OP* Perl_newCONDOP(pTHX_ I32 flags, OP* first, OP* trueop, OP* falseop)
abb2c242 2698 __attribute__malloc__
aec46f14
AL
2699 __attribute__warn_unused_result__
2700 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2701#define PERL_ARGS_ASSERT_NEWCONDOP \
2702 assert(first)
aec46f14 2703
99ab892b 2704PERL_CALLCONV CV* Perl_newCONSTSUB(pTHX_ HV* stash, const char* name, SV* sv);
9c0a6090 2705PERL_CALLCONV CV* Perl_newCONSTSUB_flags(pTHX_ HV* stash, const char* name, STRLEN len, U32 flags, SV* sv);
e8a67806
NC
2706PERL_CALLCONV OP* Perl_newCVREF(pTHX_ I32 flags, OP* o)
2707 __attribute__malloc__
2708 __attribute__warn_unused_result__;
2709
94bf0465 2710PERL_CALLCONV OP* Perl_newFOROP(pTHX_ I32 flags, OP* sv, OP* expr, OP* block, OP* cont)
abb2c242 2711 __attribute__malloc__
aa924a5a 2712 __attribute__warn_unused_result__
94bf0465 2713 __attribute__nonnull__(pTHX_3);
7918f24d
NC
2714#define PERL_ARGS_ASSERT_NEWFOROP \
2715 assert(expr)
f54cb97a 2716
0d863452
RH
2717PERL_CALLCONV OP* Perl_newGIVENOP(pTHX_ OP* cond, OP* block, PADOFFSET defsv_off)
2718 __attribute__malloc__
2719 __attribute__warn_unused_result__
2720 __attribute__nonnull__(pTHX_1)
2721 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2722#define PERL_ARGS_ASSERT_NEWGIVENOP \
2723 assert(cond); assert(block)
0d863452 2724
e8a67806
NC
2725PERL_CALLCONV GP * Perl_newGP(pTHX_ GV *const gv)
2726 __attribute__nonnull__(pTHX_1);
2727#define PERL_ARGS_ASSERT_NEWGP \
2728 assert(gv)
2729
2730PERL_CALLCONV OP* Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv)
2731 __attribute__malloc__
2732 __attribute__warn_unused_result__
2733 __attribute__nonnull__(pTHX_3);
2734#define PERL_ARGS_ASSERT_NEWGVOP \
2735 assert(gv)
2736
2737PERL_CALLCONV OP* Perl_newGVREF(pTHX_ I32 type, OP* o)
2738 __attribute__malloc__
2739 __attribute__warn_unused_result__;
2740
20980f01
FC
2741/* PERL_CALLCONV GV* newGVgen(pTHX_ const char* pack)
2742 __attribute__nonnull__(pTHX_1); */
2743
9cc50d5b 2744PERL_CALLCONV GV* Perl_newGVgen_flags(pTHX_ const char* pack, U32 flags)
e8a67806
NC
2745 __attribute__malloc__
2746 __attribute__warn_unused_result__
2747 __attribute__nonnull__(pTHX_1);
9cc50d5b 2748#define PERL_ARGS_ASSERT_NEWGVGEN_FLAGS \
e8a67806
NC
2749 assert(pack)
2750
2751/* PERL_CALLCONV HV* Perl_newHV(pTHX)
2752 __attribute__warn_unused_result__; */
2753
2754PERL_CALLCONV OP* Perl_newHVREF(pTHX_ OP* o)
2755 __attribute__malloc__
2756 __attribute__warn_unused_result__
2757 __attribute__nonnull__(pTHX_1);
2758#define PERL_ARGS_ASSERT_NEWHVREF \
2759 assert(o)
2760
2761PERL_CALLCONV HV* Perl_newHVhv(pTHX_ HV *hv)
2762 __attribute__malloc__
2763 __attribute__warn_unused_result__;
2764
2765/* PERL_CALLCONV IO* Perl_newIO(pTHX)
2766 __attribute__malloc__
2767 __attribute__warn_unused_result__; */
2768
2769PERL_CALLCONV OP* Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last)
2770 __attribute__malloc__
2771 __attribute__warn_unused_result__;
2772
4048f010 2773PERL_CALLCONV OP* Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP *first, OP *other)
abb2c242 2774 __attribute__malloc__
aa924a5a
SH
2775 __attribute__warn_unused_result__
2776 __attribute__nonnull__(pTHX_3)
2777 __attribute__nonnull__(pTHX_4);
7918f24d
NC
2778#define PERL_ARGS_ASSERT_NEWLOGOP \
2779 assert(first); assert(other)
f54cb97a
AL
2780
2781PERL_CALLCONV OP* Perl_newLOOPEX(pTHX_ I32 type, OP* label)
abb2c242 2782 __attribute__malloc__
aa924a5a
SH
2783 __attribute__warn_unused_result__
2784 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2785#define PERL_ARGS_ASSERT_NEWLOOPEX \
2786 assert(label)
f54cb97a
AL
2787
2788PERL_CALLCONV OP* Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block)
abb2c242
JH
2789 __attribute__malloc__
2790 __attribute__warn_unused_result__;
f54cb97a 2791
50278755
FC
2792PERL_CALLCONV CV * Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
2793 __attribute__nonnull__(pTHX_2);
2794#define PERL_ARGS_ASSERT_NEWMYSUB \
2795 assert(o)
2796
4373e329 2797PERL_CALLCONV OP* Perl_newNULLLIST(pTHX)
abb2c242
JH
2798 __attribute__malloc__
2799 __attribute__warn_unused_result__;
f54cb97a
AL
2800
2801PERL_CALLCONV OP* Perl_newOP(pTHX_ I32 optype, I32 flags)
abb2c242
JH
2802 __attribute__malloc__
2803 __attribute__warn_unused_result__;
f54cb97a 2804
e8a67806
NC
2805PERL_CALLCONV OP* Perl_newPMOP(pTHX_ I32 type, I32 flags)
2806 __attribute__malloc__
2807 __attribute__warn_unused_result__;
2808
f54cb97a 2809PERL_CALLCONV void Perl_newPROG(pTHX_ OP* o)
abb2c242 2810 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2811#define PERL_ARGS_ASSERT_NEWPROG \
2812 assert(o)
f54cb97a 2813
e8a67806
NC
2814PERL_CALLCONV OP* Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv)
2815 __attribute__malloc__
2816 __attribute__warn_unused_result__;
2817
f54cb97a 2818PERL_CALLCONV OP* Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right)
abb2c242 2819 __attribute__malloc__
aa924a5a
SH
2820 __attribute__warn_unused_result__
2821 __attribute__nonnull__(pTHX_2)
2822 __attribute__nonnull__(pTHX_3);
7918f24d
NC
2823#define PERL_ARGS_ASSERT_NEWRANGE \
2824 assert(left); assert(right)
f54cb97a 2825
e8a67806
NC
2826PERL_CALLCONV SV* Perl_newRV(pTHX_ SV *const sv)
2827 __attribute__malloc__
2828 __attribute__warn_unused_result__
2829 __attribute__nonnull__(pTHX_1);
2830#define PERL_ARGS_ASSERT_NEWRV \
2831 assert(sv)
2832
2833PERL_CALLCONV SV* Perl_newRV_noinc(pTHX_ SV *const sv)
2834 __attribute__malloc__
2835 __attribute__warn_unused_result__
2836 __attribute__nonnull__(pTHX_1);
2837#define PERL_ARGS_ASSERT_NEWRV_NOINC \
2838 assert(sv)
2839
f54cb97a 2840PERL_CALLCONV OP* Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop)
abb2c242
JH
2841 __attribute__malloc__
2842 __attribute__warn_unused_result__;
f54cb97a
AL
2843
2844PERL_CALLCONV OP* Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o)
abb2c242
JH
2845 __attribute__malloc__
2846 __attribute__warn_unused_result__;
f54cb97a 2847
186a5ba8
FC
2848PERL_CALLCONV CV* Perl_newSTUB(pTHX_ GV *gv, bool fake)
2849 __attribute__nonnull__(pTHX_1);
2850#define PERL_ARGS_ASSERT_NEWSTUB \
2851 assert(gv)
2852
7bff8c33 2853/* PERL_CALLCONV CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block); */
e8a67806
NC
2854PERL_CALLCONV SV* Perl_newSV(pTHX_ const STRLEN len)
2855 __attribute__malloc__
2856 __attribute__warn_unused_result__;
77004dee 2857
e8a67806
NC
2858PERL_CALLCONV OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv)
2859 __attribute__malloc__
2860 __attribute__warn_unused_result__
abb2c242 2861 __attribute__nonnull__(pTHX_3);
e8a67806
NC
2862#define PERL_ARGS_ASSERT_NEWSVOP \
2863 assert(sv)
f54cb97a 2864
e8a67806 2865PERL_CALLCONV OP* Perl_newSVREF(pTHX_ OP* o)
abb2c242
JH
2866 __attribute__malloc__
2867 __attribute__warn_unused_result__
2868 __attribute__nonnull__(pTHX_1);
e8a67806 2869#define PERL_ARGS_ASSERT_NEWSVREF \
7918f24d 2870 assert(o)
f54cb97a 2871
e8a67806 2872PERL_CALLCONV SV* Perl_newSV_type(pTHX_ const svtype type)
abb2c242
JH
2873 __attribute__malloc__
2874 __attribute__warn_unused_result__;
f54cb97a 2875
e8a67806 2876PERL_CALLCONV SV* Perl_newSVhek(pTHX_ const HEK *const hek)
abb2c242
JH
2877 __attribute__malloc__
2878 __attribute__warn_unused_result__;
f54cb97a 2879
e8a67806 2880PERL_CALLCONV SV* Perl_newSViv(pTHX_ const IV i)
abb2c242 2881 __attribute__malloc__
e8a67806 2882 __attribute__warn_unused_result__;
f54cb97a 2883
e8a67806 2884PERL_CALLCONV SV* Perl_newSVnv(pTHX_ const NV n)
abb2c242
JH
2885 __attribute__malloc__
2886 __attribute__warn_unused_result__;
f54cb97a 2887
e8a67806 2888PERL_CALLCONV SV* Perl_newSVpv(pTHX_ const char *const s, const STRLEN len)
abb2c242
JH
2889 __attribute__malloc__
2890 __attribute__warn_unused_result__;
f54cb97a 2891
e8a67806 2892PERL_CALLCONV SV* Perl_newSVpv_share(pTHX_ const char* s, U32 hash)
abb2c242
JH
2893 __attribute__malloc__
2894 __attribute__warn_unused_result__;
f54cb97a 2895
e8a67806 2896PERL_CALLCONV SV* Perl_newSVpvf(pTHX_ const char *const pat, ...)
abb2c242
JH
2897 __attribute__malloc__
2898 __attribute__warn_unused_result__
e8a67806 2899 __attribute__format__(__printf__,pTHX_1,pTHX_2)
abb2c242 2900 __attribute__nonnull__(pTHX_1);
e8a67806
NC
2901#define PERL_ARGS_ASSERT_NEWSVPVF \
2902 assert(pat)
f54cb97a 2903
23f13727 2904PERL_CALLCONV SV* Perl_newSVpvn(pTHX_ const char *const s, const STRLEN len)
abb2c242
JH
2905 __attribute__malloc__
2906 __attribute__warn_unused_result__;
f54cb97a 2907
23f13727 2908PERL_CALLCONV SV* Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags)
740cce10
NC
2909 __attribute__malloc__
2910 __attribute__warn_unused_result__;
2911
f54cb97a 2912PERL_CALLCONV SV* Perl_newSVpvn_share(pTHX_ const char* s, I32 len, U32 hash)
abb2c242
JH
2913 __attribute__malloc__
2914 __attribute__warn_unused_result__;
f54cb97a 2915
12964ddd 2916PERL_CALLCONV SV* Perl_newSVrv(pTHX_ SV *const rv, const char *const classname)
1b6737cc 2917 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2918#define PERL_ARGS_ASSERT_NEWSVRV \
2919 assert(rv)
f54cb97a 2920
23f13727 2921PERL_CALLCONV SV* Perl_newSVsv(pTHX_ SV *const old)
abb2c242
JH
2922 __attribute__malloc__
2923 __attribute__warn_unused_result__;
f54cb97a 2924
e8a67806 2925PERL_CALLCONV SV* Perl_newSVuv(pTHX_ const UV u)
b9f83d2f
NC
2926 __attribute__malloc__
2927 __attribute__warn_unused_result__;
2928
f54cb97a 2929PERL_CALLCONV OP* Perl_newUNOP(pTHX_ I32 type, I32 flags, OP* first)
abb2c242
JH
2930 __attribute__malloc__
2931 __attribute__warn_unused_result__;
f54cb97a 2932
0d863452
RH
2933PERL_CALLCONV OP* Perl_newWHENOP(pTHX_ OP* cond, OP* block)
2934 __attribute__malloc__
2935 __attribute__warn_unused_result__
2936 __attribute__nonnull__(pTHX_2);
7918f24d
NC
2937#define PERL_ARGS_ASSERT_NEWWHENOP \
2938 assert(block)
0d863452 2939
94bf0465 2940PERL_CALLCONV OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, OP* expr, OP* block, OP* cont, I32 has_my)
abb2c242
JH
2941 __attribute__malloc__
2942 __attribute__warn_unused_result__;
f54cb97a 2943
e8a67806 2944PERL_CALLCONV CV* Perl_newXS(pTHX_ const char *name, XSUBADDR_t subaddr, const char *filename)
65b06e02
DM
2945 __attribute__nonnull__(pTHX_2)
2946 __attribute__nonnull__(pTHX_3);
e8a67806
NC
2947#define PERL_ARGS_ASSERT_NEWXS \
2948 assert(subaddr); assert(filename)
f54cb97a 2949
e8a67806
NC
2950PERL_CALLCONV CV * Perl_newXS_flags(pTHX_ const char *name, XSUBADDR_t subaddr, const char *const filename, const char *const proto, U32 flags)
2951 __attribute__nonnull__(pTHX_2)
2952 __attribute__nonnull__(pTHX_3);
2953#define PERL_ARGS_ASSERT_NEWXS_FLAGS \
2954 assert(subaddr); assert(filename)
f54cb97a 2955
8f82b567 2956PERL_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
FC
2957 __attribute__nonnull__(pTHX_3)
2958 __attribute__nonnull__(pTHX_4);
2959#define PERL_ARGS_ASSERT_NEWXS_LEN_FLAGS \
2960 assert(subaddr); assert(filename)
2961
e8a67806
NC
2962PERL_CALLCONV void Perl_new_collate(pTHX_ const char* newcoll);
2963PERL_CALLCONV void Perl_new_ctype(pTHX_ const char* newctype)
91152fc1 2964 __attribute__nonnull__(pTHX_1);
e8a67806
NC
2965#define PERL_ARGS_ASSERT_NEW_CTYPE \
2966 assert(newctype)
2967
2968PERL_CALLCONV void Perl_new_numeric(pTHX_ const char* newcoll);
2969PERL_CALLCONV PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems)
2970 __attribute__malloc__
2971 __attribute__warn_unused_result__;
91152fc1 2972
2d03de9c
AL
2973PERL_CALLCONV SV* Perl_new_version(pTHX_ SV *ver)
2974 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2975#define PERL_ARGS_ASSERT_NEW_VERSION \
2976 assert(ver)
2d03de9c 2977
e8a67806
NC
2978PERL_CALLCONV STRLEN * Perl_new_warnings_bitfield(pTHX_ STRLEN *buffer, const char *const bits, STRLEN size)
2979 __attribute__malloc__
2980 __attribute__warn_unused_result__
abb2c242 2981 __attribute__nonnull__(pTHX_2);
e8a67806
NC
2982#define PERL_ARGS_ASSERT_NEW_WARNINGS_BITFIELD \
2983 assert(bits)
f54cb97a 2984
2d03de9c
AL
2985PERL_CALLCONV PerlIO* Perl_nextargv(pTHX_ GV* gv)
2986 __attribute__nonnull__(pTHX_1);
7918f24d
NC
2987#define PERL_ARGS_ASSERT_NEXTARGV \
2988 assert(gv)
2d03de9c 2989
04c9e624 2990PERL_CALLCONV char* Perl_ninstr(const char* big, const char* bigend, const char* little, const char* lend)
2d03de9c 2991 __attribute__pure__
04c9e624
VP
2992 __attribute__nonnull__(1)
2993 __attribute__nonnull__(2)
2994 __attribute__nonnull__(3)
2995 __attribute__nonnull__(4);
7918f24d
NC
2996#define PERL_ARGS_ASSERT_NINSTR \
2997 assert(big); assert(bigend); assert(little); assert(lend)
f54cb97a 2998
e8a67806
NC
2999PERL_CALLCONV int Perl_nothreadhook(pTHX);
3000PERL_CALLCONV OP* Perl_oopsAV(pTHX_ OP* o)
3001 __attribute__warn_unused_result__
eb8433b7 3002 __attribute__nonnull__(pTHX_1);
e8a67806 3003#define PERL_ARGS_ASSERT_OOPSAV \
7918f24d 3004 assert(o)
eb8433b7 3005
e8a67806
NC
3006PERL_CALLCONV OP* Perl_oopsHV(pTHX_ OP* o)
3007 __attribute__warn_unused_result__
2d03de9c 3008 __attribute__nonnull__(pTHX_1);
e8a67806 3009#define PERL_ARGS_ASSERT_OOPSHV \
7918f24d 3010 assert(o)
f54cb97a 3011
2fcb4757
Z
3012PERL_CALLCONV OP* Perl_op_append_elem(pTHX_ I32 optype, OP* first, OP* last);
3013PERL_CALLCONV OP* Perl_op_append_list(pTHX_ I32 optype, OP* first, OP* last);
e8a67806
NC
3014PERL_CALLCONV void Perl_op_clear(pTHX_ OP* o)
3015 __attribute__nonnull__(pTHX_1);
3016#define PERL_ARGS_ASSERT_OP_CLEAR \
3017 assert(o)
3018
137da2b0 3019PERL_CALLCONV SV* Perl_op_const_sv(pTHX_ const OP* o)
e8a67806
NC
3020 __attribute__warn_unused_result__;
3021
d9088386
Z
3022PERL_CALLCONV OP* Perl_op_contextualize(pTHX_ OP* o, I32 context)
3023 __attribute__nonnull__(pTHX_1);
3024#define PERL_ARGS_ASSERT_OP_CONTEXTUALIZE \
3025 assert(o)
3026
e8a67806
NC
3027PERL_CALLCONV void Perl_op_dump(pTHX_ const OP *o)
3028 __attribute__nonnull__(pTHX_1);
3029#define PERL_ARGS_ASSERT_OP_DUMP \
3030 assert(o)
3031
3032PERL_CALLCONV void Perl_op_free(pTHX_ OP* arg);
5983a79d
BM
3033PERL_CALLCONV OP* Perl_op_linklist(pTHX_ OP *o)
3034 __attribute__nonnull__(pTHX_1);
3035#define PERL_ARGS_ASSERT_OP_LINKLIST \
3036 assert(o)
3037
d3d7d28f
FC
3038/* PERL_CALLCONV OP* op_lvalue(pTHX_ OP* o, I32 type); */
3039PERL_CALLCONV OP* Perl_op_lvalue_flags(pTHX_ OP* o, I32 type, U32 flags);
e8a67806
NC
3040PERL_CALLCONV void Perl_op_null(pTHX_ OP* o)
3041 __attribute__nonnull__(pTHX_1);
3042#define PERL_ARGS_ASSERT_OP_NULL \
3043 assert(o)
3044
2fcb4757 3045PERL_CALLCONV OP* Perl_op_prepend_elem(pTHX_ I32 optype, OP* first, OP* last);
e8a67806
NC
3046PERL_CALLCONV void Perl_op_refcnt_lock(pTHX);
3047PERL_CALLCONV void Perl_op_refcnt_unlock(pTHX);
3ad73efd 3048PERL_CALLCONV OP* Perl_op_scope(pTHX_ OP* o);
705fe0e5 3049PERL_CALLCONV OP* Perl_op_unscope(pTHX_ OP* o);
e8a67806
NC
3050PERL_CALLCONV void Perl_pack_cat(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist, SV ***next_in_list, U32 flags)
3051 __attribute__nonnull__(pTHX_1)
3052 __attribute__nonnull__(pTHX_2)
3053 __attribute__nonnull__(pTHX_3)
3054 __attribute__nonnull__(pTHX_4)
3055 __attribute__nonnull__(pTHX_5)
3056 __attribute__nonnull__(pTHX_6);
3057#define PERL_ARGS_ASSERT_PACK_CAT \
3058 assert(cat); assert(pat); assert(patend); assert(beglist); assert(endlist); assert(next_in_list)
3059
6fa4d285
DG
3060PERL_CALLCONV void Perl_package_version(pTHX_ OP* v)
3061 __attribute__nonnull__(pTHX_1);
3062#define PERL_ARGS_ASSERT_PACKAGE_VERSION \
3063 assert(v)
3064
e8a67806
NC
3065PERL_CALLCONV void Perl_packlist(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist)
3066 __attribute__nonnull__(pTHX_1)
3067 __attribute__nonnull__(pTHX_2)
3068 __attribute__nonnull__(pTHX_3)
3069 __attribute__nonnull__(pTHX_4)
3070 __attribute__nonnull__(pTHX_5);
3071#define PERL_ARGS_ASSERT_PACKLIST \
3072 assert(cat); assert(pat); assert(patend); assert(beglist); assert(endlist)
3073
cc76b5cc 3074PERL_CALLCONV PADOFFSET Perl_pad_add_anon(pTHX_ CV* func, I32 optype)
abb2c242 3075 __attribute__nonnull__(pTHX_1);
e8a67806 3076#define PERL_ARGS_ASSERT_PAD_ADD_ANON \
cc76b5cc 3077 assert(func)
e8a67806 3078
cc76b5cc 3079PERL_CALLCONV PADOFFSET Perl_pad_add_name_pv(pTHX_ const char *name, const U32 flags, HV *typestash, HV *ourstash)
e8a67806 3080 __attribute__nonnull__(pTHX_1);
cc76b5cc
Z
3081#define PERL_ARGS_ASSERT_PAD_ADD_NAME_PV \
3082 assert(name)
3083
0e1b3a4b 3084PERL_CALLCONV PADOFFSET Perl_pad_add_name_pvn(pTHX_ const char *namepv, STRLEN namelen, U32 flags, HV *typestash, HV *ourstash)
cc76b5cc
Z
3085 __attribute__nonnull__(pTHX_1);
3086#define PERL_ARGS_ASSERT_PAD_ADD_NAME_PVN \
3087 assert(namepv)
3088
0e1b3a4b 3089PERL_CALLCONV PADOFFSET Perl_pad_add_name_sv(pTHX_ SV *name, U32 flags, HV *typestash, HV *ourstash)
cc76b5cc
Z
3090 __attribute__nonnull__(pTHX_1);
3091#define PERL_ARGS_ASSERT_PAD_ADD_NAME_SV \
7918f24d 3092 assert(name)
f54cb97a 3093
e8a67806
NC
3094PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
3095PERL_CALLCONV void Perl_pad_block_start(pTHX_ int full);
3096PERL_CALLCONV HV* Perl_pad_compname_type(pTHX_ const PADOFFSET po)
3097 __attribute__warn_unused_result__;
3098
cc76b5cc 3099PERL_CALLCONV PADOFFSET Perl_pad_findmy_pv(pTHX_ const char* name, U32 flags)
cc76b5cc
Z
3100 __attribute__nonnull__(pTHX_1);
3101#define PERL_ARGS_ASSERT_PAD_FINDMY_PV \
3102 assert(name)
3103
3104PERL_CALLCONV PADOFFSET Perl_pad_findmy_pvn(pTHX_ const char* namepv, STRLEN namelen, U32 flags)
cc76b5cc
Z
3105 __attribute__nonnull__(pTHX_1);
3106#define PERL_ARGS_ASSERT_PAD_FINDMY_PVN \
3107 assert(namepv)
3108
3109PERL_CALLCONV PADOFFSET Perl_pad_findmy_sv(pTHX_ SV* name, U32 flags)
abb2c242 3110 __attribute__nonnull__(pTHX_1);
cc76b5cc 3111#define PERL_ARGS_ASSERT_PAD_FINDMY_SV \
7918f24d 3112 assert(name)
f54cb97a 3113
e8a67806 3114PERL_CALLCONV void Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv, CV *new_cv)
abb2c242 3115 __attribute__nonnull__(pTHX_1)
e8a67806 3116 __attribute__nonnull__(pTHX_2)
abb2c242 3117 __attribute__nonnull__(pTHX_3);
e8a67806
NC
3118#define PERL_ARGS_ASSERT_PAD_FIXUP_INNER_ANONS \
3119 assert(padlist); assert(old_cv); assert(new_cv)
f54cb97a 3120
e8a67806 3121PERL_CALLCONV void Perl_pad_free(pTHX_ PADOFFSET po);
6d5c2147 3122PERL_CALLCONV OP * Perl_pad_leavemy(pTHX);
e8a67806
NC
3123PERL_CALLCONV PADLIST* Perl_pad_new(pTHX_ int flags)
3124 __attribute__malloc__
3125 __attribute__warn_unused_result__;
f54cb97a 3126
e8a67806 3127PERL_CALLCONV void Perl_pad_push(pTHX_ PADLIST *padlist, int depth)
abb2c242 3128 __attribute__nonnull__(pTHX_1);
e8a67806
NC
3129#define PERL_ARGS_ASSERT_PAD_PUSH \
3130 assert(padlist)
f54cb97a 3131
e8a67806
NC
3132PERL_CALLCONV void Perl_pad_swipe(pTHX_ PADOFFSET po, bool refadjust);
3133PERL_CALLCONV void Perl_pad_tidy(pTHX_ padtidy_type type);
7261499d
FC
3134PERL_CALLCONV PAD ** Perl_padlist_store(pTHX_ PADLIST *padlist, I32 key, PAD *val)
3135 __attribute__nonnull__(pTHX_1);
3136#define PERL_ARGS_ASSERT_PADLIST_STORE \
3137 assert(padlist)
3138
78cdf107 3139PERL_CALLCONV OP* Perl_parse_arithexpr(pTHX_ U32 flags);
8359b381 3140PERL_CALLCONV OP* Perl_parse_barestmt(pTHX_ U32 flags);
e53d8f76 3141PERL_CALLCONV OP* Perl_parse_block(pTHX_ U32 flags);
78cdf107 3142PERL_CALLCONV OP* Perl_parse_fullexpr(pTHX_ U32 flags);
e8a67806 3143PERL_CALLCONV OP* Perl_parse_fullstmt(pTHX_ U32 flags);
361d9b55 3144PERL_CALLCONV SV* Perl_parse_label(pTHX_ U32 flags);
78cdf107 3145PERL_CALLCONV OP* Perl_parse_listexpr(pTHX_ U32 flags);
07ffcb73 3146PERL_CALLCONV OP* Perl_parse_stmtseq(pTHX_ U32 flags);
78cdf107 3147PERL_CALLCONV OP* Perl_parse_termexpr(pTHX_ U32 flags);
e8a67806 3148PERL_CALLCONV U32 Perl_parse_unicode_opts(pTHX_ const char **popt)
255164ba 3149 __attribute__nonnull__(pTHX_1);
e8a67806
NC
3150#define PERL_ARGS_ASSERT_PARSE_UNICODE_OPTS \
3151 assert(popt)
255164ba 3152
e8a67806 3153PERL_CALLCONV void Perl_parser_free(pTHX_ const yy_parser *parser)
780a5241 3154 __attribute__nonnull__(pTHX_1);
e8a67806
NC
3155#define PERL_ARGS_ASSERT_PARSER_FREE \
3156 assert(parser)
780a5241 3157
e8a67806
NC
3158PERL_CALLCONV void Perl_peep(pTHX_ OP* o);
3159PERL_CALLCONV PerlInterpreter* perl_alloc(void);
3160PERL_CALLCONV void perl_construct(PerlInterpreter *my_perl)
3161 __attribute__nonnull__(1);
3162#define PERL_ARGS_ASSERT_PERL_CONSTRUCT \
3163 assert(my_perl)
f54cb97a 3164
e8a67806
NC
3165PERL_CALLCONV int perl_destruct(PerlInterpreter *my_perl)
3166 __attribute__nonnull__(1);
3167#define PERL_ARGS_ASSERT_PERL_DESTRUCT \
3168 assert(my_perl)
f54cb97a 3169
e8a67806
NC
3170PERL_CALLCONV void perl_free(PerlInterpreter *my_perl)
3171 __attribute__nonnull__(1);
3172#define PERL_ARGS_ASSERT_PERL_FREE \
3173 assert(my_perl)
f54cb97a 3174
e8a67806
NC
3175PERL_CALLCONV int perl_parse(PerlInterpreter *my_perl, XSINIT_t xsinit, int argc, char** argv, char** env)
3176 __attribute__nonnull__(1);
3177#define PERL_ARGS_ASSERT_PERL_PARSE \
3178 assert(my_perl)
2d03de9c 3179
e8a67806
NC
3180PERL_CALLCONV int perl_run(PerlInterpreter *my_perl)
3181 __attribute__nonnull__(1);
3182#define PERL_ARGS_ASSERT_PERL_RUN \
3183 assert(my_perl)
2d03de9c 3184
e8a67806 3185PERL_CALLCONV void Perl_pmop_dump(pTHX_ PMOP* pm);
d63c20f2 3186PERL_CALLCONV OP* Perl_pmruntime(pTHX_ OP *o, OP *expr, bool isreg, I32 floor)
abb2c242
JH
3187 __attribute__nonnull__(pTHX_1)
3188 __attribute__nonnull__(pTHX_2);
7918f24d
NC
3189#define PERL_ARGS_ASSERT_PMRUNTIME \
3190 assert(o); assert(expr)
f54cb97a 3191
1d7c1841 3192PERL_CALLCONV void Perl_pop_scope(pTHX);
74e8ce34
NC
3193PERL_CALLCONV void Perl_populate_isa(pTHX_ const char *name, STRLEN len, ...)
3194 __attribute__nonnull__(pTHX_1);
3195#define PERL_ARGS_ASSERT_POPULATE_ISA \
3196 assert(name)
3197
e8a67806
NC
3198PERL_CALLCONV REGEXP* Perl_pregcomp(pTHX_ SV * const pattern, const U32 flags)
3199 __attribute__nonnull__(pTHX_1);
3200#define PERL_ARGS_ASSERT_PREGCOMP \
3201 assert(pattern)
3202
ea3daa5d 3203PERL_CALLCONV I32 Perl_pregexec(pTHX_ REGEXP * const prog, char* stringarg, char* strend, char* strbeg, SSize_t minend, SV* screamer, U32 nosave)
e8a67806
NC
3204 __attribute__nonnull__(pTHX_1)
3205 __attribute__nonnull__(pTHX_2)
3206 __attribute__nonnull__(pTHX_3)
3207 __attribute__nonnull__(pTHX_4)
3208 __attribute__nonnull__(pTHX_6);
3209#define PERL_ARGS_ASSERT_PREGEXEC \
3210 assert(prog); assert(stringarg); assert(strend); assert(strbeg); assert(screamer)
3211
3212PERL_CALLCONV void Perl_pregfree(pTHX_ REGEXP* r);
3213PERL_CALLCONV void Perl_pregfree2(pTHX_ REGEXP *rx)
3214 __attribute__nonnull__(pTHX_1);
3215#define PERL_ARGS_ASSERT_PREGFREE2 \
3216 assert(rx)
3217
e8a67806
NC
3218PERL_CALLCONV const char* Perl_prescan_version(pTHX_ const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha)
3219 __attribute__nonnull__(pTHX_1);
3220#define PERL_ARGS_ASSERT_PRESCAN_VERSION \
3221 assert(s)
3222
3223PERL_CALLCONV void Perl_ptr_table_clear(pTHX_ PTR_TBL_t *const tbl)
3224 __attribute__deprecated__;
3225
3226PERL_CALLCONV void* Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *const tbl, const void *const sv)
3227 __attribute__warn_unused_result__
3228 __attribute__nonnull__(pTHX_1);
3229#define PERL_ARGS_ASSERT_PTR_TABLE_FETCH \
3230 assert(tbl)
3231
3232PERL_CALLCONV void Perl_ptr_table_free(pTHX_ PTR_TBL_t *const tbl);
3233PERL_CALLCONV PTR_TBL_t* Perl_ptr_table_new(pTHX)
3234 __attribute__malloc__
3235 __attribute__warn_unused_result__;
3236
3237PERL_CALLCONV void Perl_ptr_table_split(pTHX_ PTR_TBL_t *const tbl)
3238 __attribute__nonnull__(pTHX_1);
3239#define PERL_ARGS_ASSERT_PTR_TABLE_SPLIT \
3240 assert(tbl)
3241
3242PERL_CALLCONV void Perl_ptr_table_store(pTHX_ PTR_TBL_t *const tbl, const void *const oldsv, void *const newsv)
3243 __attribute__nonnull__(pTHX_1)
3244 __attribute__nonnull__(pTHX_3);
3245#define PERL_ARGS_ASSERT_PTR_TABLE_STORE \
3246 assert(tbl); assert(newsv)
3247
3248PERL_CALLCONV void Perl_push_scope(pTHX);
3249PERL_CALLCONV char* Perl_pv_display(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
3250 __attribute__nonnull__(pTHX_1)
3251 __attribute__nonnull__(pTHX_2);
3252#define PERL_ARGS_ASSERT_PV_DISPLAY \
3253 assert(dsv); assert(pv)
3254
3255PERL_CALLCONV char* Perl_pv_escape(pTHX_ SV *dsv, char const * const str, const STRLEN count, const STRLEN max, STRLEN * const escaped, const U32 flags)
3256 __attribute__nonnull__(pTHX_1)
3257 __attribute__nonnull__(pTHX_2);
3258#define PERL_ARGS_ASSERT_PV_ESCAPE \
3259 assert(dsv); assert(str)
3260
3261PERL_CALLCONV char* Perl_pv_pretty(pTHX_ SV *dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags)
3262 __attribute__nonnull__(pTHX_1)
3263 __attribute__nonnull__(pTHX_2);
3264#define PERL_ARGS_ASSERT_PV_PRETTY \
3265 assert(dsv); assert(str)
3266
3267PERL_CALLCONV char* Perl_pv_uni_display(pTHX_ SV *dsv, const U8 *spv, STRLEN len, STRLEN pvlim, UV flags)
3268 __attribute__nonnull__(pTHX_1)
3269 __attribute__nonnull__(pTHX_2);
3270#define PERL_ARGS_ASSERT_PV_UNI_DISPLAY \
3271 assert(dsv); assert(spv)
3272
3273PERL_CALLCONV void Perl_qerror(pTHX_ SV* err)
3274 __attribute__nonnull__(pTHX_1);
3275#define PERL_ARGS_ASSERT_QERROR \
3276 assert(err)
3277
37acfcba 3278PERL_CALLCONV REGEXP* Perl_re_compile(pTHX_ SV * const pattern, U32 orig_rx_flags)
e8a67806
NC
3279 __attribute__nonnull__(pTHX_1);
3280#define PERL_ARGS_ASSERT_RE_COMPILE \
3281 assert(pattern)
3282
52a21eb3 3283PERL_CALLCONV char* Perl_re_intuit_start(pTHX_ REGEXP * const rx, SV* sv, const char* const strbeg, char* strpos, char* strend, const U32 flags, re_scream_pos_data *data)
e8a67806
NC
3284 __attribute__nonnull__(pTHX_1)
3285 __attribute__nonnull__(pTHX_3)
52a21eb3
DM
3286 __attribute__nonnull__(pTHX_4)
3287 __attribute__nonnull__(pTHX_5);
e8a67806 3288#define PERL_ARGS_ASSERT_RE_INTUIT_START \
52a21eb3 3289 assert(rx); assert(strbeg); assert(strpos); assert(strend)
e8a67806
NC
3290
3291PERL_CALLCONV SV* Perl_re_intuit_string(pTHX_ REGEXP *const r)
3292 __attribute__nonnull__(pTHX_1);
3293#define PERL_ARGS_ASSERT_RE_INTUIT_STRING \
3294 assert(r)
3295
1067df30 3296PERL_CALLCONV REGEXP* Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count, OP *expr, const regexp_engine* eng, REGEXP *old_re, bool *is_bare_re, U32 rx_flags, U32 pm_flags)
3c13cae6
DM
3297 __attribute__nonnull__(pTHX_4);
3298#define PERL_ARGS_ASSERT_RE_OP_COMPILE \
3299 assert(eng)
3300
e8a67806
NC
3301PERL_CALLCONV Malloc_t Perl_realloc(Malloc_t where, MEM_SIZE nbytes)
3302 __attribute__malloc__
3303 __attribute__warn_unused_result__;
3304
f59c1a32
CB
3305PERL_CALLCONV void Perl_reentrant_free(pTHX);
3306PERL_CALLCONV void Perl_reentrant_init(pTHX);
3307PERL_CALLCONV void* Perl_reentrant_retry(const char *f, ...)
3308 __attribute__nonnull__(1);
3309#define PERL_ARGS_ASSERT_REENTRANT_RETRY \
3310 assert(f)
3311
3312PERL_CALLCONV void Perl_reentrant_size(pTHX);
e8a67806 3313/* PERL_CALLCONV OP* Perl_ref(pTHX_ OP* o, I32 type); */
20439bc7
Z
3314PERL_CALLCONV HV * Perl_refcounted_he_chain_2hv(pTHX_ const struct refcounted_he *c, U32 flags);
3315PERL_CALLCONV SV * Perl_refcounted_he_fetch_pv(pTHX_ const struct refcounted_he *chain, const char *key, U32 hash, U32 flags)
3316 __attribute__nonnull__(pTHX_2);
3317#define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_PV \
3318 assert(key)
3319
3320PERL_CALLCONV SV * Perl_refcounted_he_fetch_pvn(pTHX_ const struct refcounted_he *chain, const char *keypv, STRLEN keylen, U32 hash, U32 flags)
3321 __attribute__nonnull__(pTHX_2);
3322#define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_PVN \
3323 assert(keypv)
3324
3325PERL_CALLCONV SV * Perl_refcounted_he_fetch_sv(pTHX_ const struct refcounted_he *chain, SV *key, U32 hash, U32 flags)
3326 __attribute__nonnull__(pTHX_2);
3327#define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_SV \
3328 assert(key)
3329
e8a67806 3330PERL_CALLCONV void Perl_refcounted_he_free(pTHX_ struct refcounted_he *he);
20439bc7
Z
3331PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_inc(pTHX_ struct refcounted_he *he);
3332PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_pv(pTHX_ struct refcounted_he *parent, const char *key, U32 hash, SV *value, U32 flags)
3333 __attribute__nonnull__(pTHX_2);
3334#define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_PV \
3335 assert(key)
3336
3337PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_pvn(pTHX_ struct refcounted_he *parent, const char *keypv, STRLEN keylen, U32 hash, SV *value, U32 flags)
3338 __attribute__nonnull__(pTHX_2);
3339#define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_PVN \
3340 assert(keypv)
3341
3342PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_sv(pTHX_ struct refcounted_he *parent, SV *key, U32 hash, SV *value, U32 flags)
3343 __attribute__nonnull__(pTHX_2);
3344#define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_SV \
3345 assert(key)
3346
e8a67806
NC
3347PERL_CALLCONV SV* Perl_reg_named_buff(pTHX_ REGEXP * const rx, SV * const key, SV * const value, const U32 flags)
3348 __attribute__nonnull__(pTHX_1);
3349#define PERL_ARGS_ASSERT_REG_NAMED_BUFF \
3350 assert(rx)
3351
3352PERL_CALLCONV SV* Perl_reg_named_buff_all(pTHX_ REGEXP * const rx, const U32 flags)
3353 __attribute__nonnull__(pTHX_1);
3354#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_ALL \
3355 assert(rx)
3356
3357PERL_CALLCONV bool Perl_reg_named_buff_exists(pTHX_ REGEXP * const rx, SV * const key, const U32 flags)
3358 __attribute__nonnull__(pTHX_1)
3359 __attribute__nonnull__(pTHX_2);
3360#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_EXISTS \
3361 assert(rx); assert(key)
3362
3363PERL_CALLCONV SV* Perl_reg_named_buff_fetch(pTHX_ REGEXP * const rx, SV * const namesv, const U32 flags)
3364 __attribute__nonnull__(pTHX_1)
3365 __attribute__nonnull__(pTHX_2);
3366#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_FETCH \
3367 assert(rx); assert(namesv)
3368
3369PERL_CALLCONV SV* Perl_reg_named_buff_firstkey(pTHX_ REGEXP * const rx, const U32 flags)
3370 __attribute__nonnull__(pTHX_1);
3371#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_FIRSTKEY \
3372 assert(rx)
3373
3374PERL_CALLCONV SV* Perl_reg_named_buff_iter(pTHX_ REGEXP * const rx, const SV * const lastkey, const U32 flags)
3375 __attribute__nonnull__(pTHX_1);
3376#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_ITER \
3377 assert(rx)
3378
3379PERL_CALLCONV SV* Perl_reg_named_buff_nextkey(pTHX_ REGEXP * const rx, const U32 flags)
3380 __attribute__nonnull__(pTHX_1);
3381#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_NEXTKEY \
3382 assert(rx)
3383
3384PERL_CALLCONV SV* Perl_reg_named_buff_scalar(pTHX_ REGEXP * const rx, const U32 flags)
3385 __attribute__nonnull__(pTHX_1);
3386#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_SCALAR \
3387 assert(rx)
3388
3389PERL_CALLCONV void Perl_reg_numbered_buff_fetch(pTHX_ REGEXP * const rx, const I32 paren, SV * const sv)
3390 __attribute__nonnull__(pTHX_1);
3391#define PERL_ARGS_ASSERT_REG_NUMBERED_BUFF_FETCH \
3392 assert(rx)
3393
3394PERL_CALLCONV I32 Perl_reg_numbered_buff_length(pTHX_ REGEXP * const rx, const SV * const sv, const I32 paren)
3395 __attribute__nonnull__(pTHX_1)
3396 __attribute__nonnull__(pTHX_2);
3397#define PERL_ARGS_ASSERT_REG_NUMBERED_BUFF_LENGTH \
3398 assert(rx); assert(sv)
3399
3400PERL_CALLCONV void Perl_reg_numbered_buff_store(pTHX_ REGEXP * const rx, const I32 paren, SV const * const value)
3401 __attribute__nonnull__(pTHX_1);
3402#define PERL_ARGS_ASSERT_REG_NUMBERED_BUFF_STORE \
3403 assert(rx)
3404
3405PERL_CALLCONV SV* Perl_reg_qr_package(pTHX_ REGEXP * const rx)
3406 __attribute__nonnull__(pTHX_1);
3407#define PERL_ARGS_ASSERT_REG_QR_PACKAGE \
3408 assert(rx)
3409
3410PERL_CALLCONV REGEXP* Perl_reg_temp_copy(pTHX_ REGEXP* ret_x, REGEXP* rx)
3411 __attribute__nonnull__(pTHX_2);
3412#define PERL_ARGS_ASSERT_REG_TEMP_COPY \
3413 assert(rx)
3414
3415PERL_CALLCONV SV* Perl_regclass_swash(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp, SV **altsvp)
3416 __attribute__nonnull__(pTHX_2);
3417#define PERL_ARGS_ASSERT_REGCLASS_SWASH \
3418 assert(node)
3419
3420PERL_CALLCONV void Perl_regdump(pTHX_ const regexp* r)
3421 __attribute__nonnull__(pTHX_1);
3422#define PERL_ARGS_ASSERT_REGDUMP \
3423 assert(r)
3424
ea3daa5d 3425PERL_CALLCONV I32 Perl_regexec_flags(pTHX_ REGEXP *const rx, char *stringarg, char *strend, char *strbeg, SSize_t minend, SV *sv, void *data, U32 flags)
e8a67806
NC
3426 __attribute__nonnull__(pTHX_1)
3427 __attribute__nonnull__(pTHX_2)
3428 __attribute__nonnull__(pTHX_3)
3429 __attribute__nonnull__(pTHX_4)
3430 __attribute__nonnull__(pTHX_6);
3431#define PERL_ARGS_ASSERT_REGEXEC_FLAGS \
3432 assert(rx); assert(stringarg); assert(strend); assert(strbeg); assert(sv)
3433
3434PERL_CALLCONV void Perl_regfree_internal(pTHX_ REGEXP *const rx)
3435 __attribute__nonnull__(pTHX_1);
3436#define PERL_ARGS_ASSERT_REGFREE_INTERNAL \
3437 assert(rx)
3438
3439PERL_CALLCONV void Perl_reginitcolors(pTHX);
3440PERL_CALLCONV regnode* Perl_regnext(pTHX_ regnode* p)
3441 __attribute__warn_unused_result__;
3442
3443PERL_CALLCONV void Perl_regprop(pTHX_ const regexp *prog, SV* sv, const regnode* o)
3444 __attribute__nonnull__(pTHX_2)
3445 __attribute__nonnull__(pTHX_3);
3446#define PERL_ARGS_ASSERT_REGPROP \
3447 assert(sv); assert(o)
3448
26e1303d 3449PERL_CALLCONV void Perl_repeatcpy(char* to, const char* from, I32 len, IV count)
e8a67806
NC
3450 __attribute__nonnull__(1)
3451 __attribute__nonnull__(2);
3452#define PERL_ARGS_ASSERT_REPEATCPY \
3453 assert(to); assert(from)
3454
831e4cc3 3455PERL_CALLCONV void Perl_report_evil_fh(pTHX_ const GV *gv);
e8a67806 3456PERL_CALLCONV void Perl_report_uninit(pTHX_ const SV *uninit_sv);
a5390457 3457PERL_CALLCONV void Perl_report_wrongway_fh(pTHX_ const GV *gv, const char have);
e8a67806
NC
3458PERL_CALLCONV void Perl_require_pv(pTHX_ const char* pv)
3459 __attribute__nonnull__(pTHX_1);
3460#define PERL_ARGS_ASSERT_REQUIRE_PV \
3461 assert(pv)
3462
3463PERL_CALLCONV char* Perl_rninstr(const char* big, const char* bigend, const char* little, const char* lend)
3464 __attribute__pure__
3465 __attribute__nonnull__(1)
3466 __attribute__nonnull__(2)
3467 __attribute__nonnull__(3)
3468 __attribute__nonnull__(4);
3469#define PERL_ARGS_ASSERT_RNINSTR \
3470 assert(big); assert(bigend); assert(little); assert(lend)
3471
3472PERL_CALLCONV void Perl_rpeep(pTHX_ OP* o);
3473PERL_CALLCONV Sighandler_t Perl_rsignal(pTHX_ int i, Sighandler_t t);
3474PERL_CALLCONV int Perl_rsignal_restore(pTHX_ int i, Sigsave_t* t);
3475PERL_CALLCONV int Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* save)
3476 __attribute__nonnull__(pTHX_3);
3477#define PERL_ARGS_ASSERT_RSIGNAL_SAVE \
3478 assert(save)
3479
3480PERL_CALLCONV Sighandler_t Perl_rsignal_state(pTHX_ int i);
3481PERL_CALLCONV int Perl_runops_debug(pTHX);
3482PERL_CALLCONV int Perl_runops_standard(pTHX);
d9088386
Z
3483PERL_CALLCONV CV* Perl_rv2cv_op_cv(pTHX_ OP *cvop, U32 flags)
3484 __attribute__nonnull__(pTHX_1);
3485#define PERL_ARGS_ASSERT_RV2CV_OP_CV \
3486 assert(cvop)
3487
e8a67806
NC
3488PERL_CALLCONV void Perl_rxres_save(pTHX_ void **rsp, REGEXP *rx)
3489 __attribute__nonnull__(pTHX_1)
3490 __attribute__nonnull__(pTHX_2);
3491#define PERL_ARGS_ASSERT_RXRES_SAVE \
3492 assert(rsp); assert(rx)
3493
3494PERL_CALLCONV Malloc_t Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size)
3495 __attribute__malloc__
3496 __attribute__warn_unused_result__;
3497
3498PERL_CALLCONV Free_t Perl_safesysfree(Malloc_t where);
3499PERL_CALLCONV Malloc_t Perl_safesysmalloc(MEM_SIZE nbytes)
3500 __attribute__malloc__
3501 __attribute__warn_unused_result__;
3502
3503PERL_CALLCONV Malloc_t Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes)
3504 __attribute__malloc__
3505 __attribute__warn_unused_result__;
3506
3507PERL_CALLCONV void Perl_save_I16(pTHX_ I16* intp)
3508 __attribute__nonnull__(pTHX_1);
3509#define PERL_ARGS_ASSERT_SAVE_I16 \
3510 assert(intp)
3511
3512PERL_CALLCONV void Perl_save_I32(pTHX_ I32* intp)
3513 __attribute__nonnull__(pTHX_1);
3514#define PERL_ARGS_ASSERT_SAVE_I32 \
3515 assert(intp)
3516
3517PERL_CALLCONV void Perl_save_I8(pTHX_ I8* bytep)
3518 __attribute__nonnull__(pTHX_1);
3519#define PERL_ARGS_ASSERT_SAVE_I8 \
3520 assert(bytep)
3521
c70927a6 3522PERL_CALLCONV void Perl_save_adelete(pTHX_ AV *av, SSize_t key)
e8a67806
NC
3523 __attribute__nonnull__(pTHX_1);
3524#define PERL_ARGS_ASSERT_SAVE_ADELETE \
3525 assert(av)
3526
c70927a6 3527/* PERL_CALLCONV void Perl_save_aelem(pTHX_ AV* av, SSize_t idx, SV **sptr)
e8a67806
NC
3528 __attribute__nonnull__(pTHX_1)
3529 __attribute__nonnull__(pTHX_3); */
3530
c70927a6 3531PERL_CALLCONV void Perl_save_aelem_flags(pTHX_ AV* av, SSize_t idx, SV **sptr, const U32 flags)
e8a67806
NC
3532 __attribute__nonnull__(pTHX_1)
3533 __attribute__nonnull__(pTHX_3);
3534#define PERL_ARGS_ASSERT_SAVE_AELEM_FLAGS \
3535 assert(av); assert(sptr)
3536
3537PERL_CALLCONV I32 Perl_save_alloc(pTHX_ I32 size, I32 pad);
3538PERL_CALLCONV void Perl_save_aptr(pTHX_ AV** aptr)
3539 __attribute__nonnull__(pTHX_1);
3540#define PERL_ARGS_ASSERT_SAVE_APTR \
3541 assert(aptr)
3542
3543PERL_CALLCONV AV* Perl_save_ary(pTHX_ GV* gv)
3544 __attribute__nonnull__(pTHX_1);
3545#define PERL_ARGS_ASSERT_SAVE_ARY \
3546 assert(gv)
3547
3548PERL_CALLCONV void Perl_save_bool(pTHX_ bool* boolp)
3549 __attribute__nonnull__(pTHX_1);
3550#define PERL_ARGS_ASSERT_SAVE_BOOL \
3551 assert(boolp)
3552
3553PERL_CALLCONV void Perl_save_clearsv(pTHX_ SV** svp)
3554 __attribute__nonnull__(pTHX_1);
3555#define PERL_ARGS_ASSERT_SAVE_CLEARSV \
3556 assert(svp)
3557
3558PERL_CALLCONV void Perl_save_delete(pTHX_ HV *hv, char *key, I32 klen)
3559 __attribute__nonnull__(pTHX_1)
3560 __attribute__nonnull__(pTHX_2);
3561#define PERL_ARGS_ASSERT_SAVE_DELETE \
3562 assert(hv); assert(key)
3563
3564PERL_CALLCONV void Perl_save_destructor(pTHX_ DESTRUCTORFUNC_NOCONTEXT_t f, void* p)
3565 __attribute__nonnull__(pTHX_2);
3566#define PERL_ARGS_ASSERT_SAVE_DESTRUCTOR \
3567 assert(p)
3568
3569PERL_CALLCONV void Perl_save_destructor_x(pTHX_ DESTRUCTORFUNC_t f, void* p);
3570/* PERL_CALLCONV void Perl_save_freeop(pTHX_ OP* o); */
3571/* PERL_CALLCONV void Perl_save_freepv(pTHX_ char* pv); */
3572/* PERL_CALLCONV void Perl_save_freesv(pTHX_ SV* sv); */
3573PERL_CALLCONV void Perl_save_generic_pvref(pTHX_ char** str)
3574 __attribute__nonnull__(pTHX_1);
3575#define PERL_ARGS_ASSERT_SAVE_GENERIC_PVREF \
3576 assert(str)
3577
3578PERL_CALLCONV void Perl_save_generic_svref(pTHX_ SV** sptr)
3579 __attribute__nonnull__(pTHX_1);
3580#define PERL_ARGS_ASSERT_SAVE_GENERIC_SVREF \
3581 assert(sptr)
3582
3583PERL_CALLCONV void Perl_save_gp(pTHX_ GV* gv, I32 empty)
3584 __attribute__nonnull__(pTHX_1);
3585#define PERL_ARGS_ASSERT_SAVE_GP \
3586 assert(gv)
3587
3588PERL_CALLCONV HV* Perl_save_hash(pTHX_ GV* gv)
3589 __attribute__nonnull__(pTHX_1);
3590#define PERL_ARGS_ASSERT_SAVE_HASH \
3591 assert(gv)
3592
3593PERL_CALLCONV void Perl_save_hdelete(pTHX_ HV *hv, SV *keysv)
3594 __attribute__nonnull__(pTHX_1)
3595 __attribute__nonnull__(pTHX_2);
3596#define PERL_ARGS_ASSERT_SAVE_HDELETE \
3597 assert(hv); assert(keysv)
3598
3599/* PERL_CALLCONV void Perl_save_helem(pTHX_ HV *hv, SV *key, SV **sptr)
3600 __attribute__nonnull__(pTHX_1)
3601 __attribute__nonnull__(pTHX_2)
3602 __attribute__nonnull__(pTHX_3); */
3603
3604PERL_CALLCONV void Perl_save_helem_flags(pTHX_ HV *hv, SV *key, SV **sptr, const U32 flags)
3605 __attribute__nonnull__(pTHX_1)
3606 __attribute__nonnull__(pTHX_2)
3607 __attribute__nonnull__(pTHX_3);
3608#define PERL_ARGS_ASSERT_SAVE_HELEM_FLAGS \
3609 assert(hv); assert(key); assert(sptr)
3610
3611PERL_CALLCONV void Perl_save_hints(pTHX);
3612PERL_CALLCONV void Perl_save_hptr(pTHX_ HV** hptr)
3613 __attribute__nonnull__(pTHX_1);
3614#define PERL_ARGS_ASSERT_SAVE_HPTR \
3615 assert(hptr)
3616
3617PERL_CALLCONV void Perl_save_int(pTHX_ int* intp)
3618 __attribute__nonnull__(pTHX_1);
3619#define PERL_ARGS_ASSERT_SAVE_INT \
3620 assert(intp)
3621
3622PERL_CALLCONV void Perl_save_item(pTHX_ SV* item)
3623 __attribute__nonnull__(pTHX_1);