-PERL_CALLCONV OP* Perl_ck_grep(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_GREP \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_index(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_INDEX \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_join(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_JOIN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_lfun(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_LFUN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_listiob(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_LISTIOB \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_match(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_MATCH \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_method(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_METHOD \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_null(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_NULL \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_open(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_OPEN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_readline(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_READLINE \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_repeat(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_REPEAT \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_require(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_REQUIRE \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_return(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_RETURN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_rfun(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_RFUN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_rvconst(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_RVCONST \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_sassign(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SASSIGN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_select(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SELECT \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_shift(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SHIFT \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_sort(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SORT \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_spair(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SPAIR \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_split(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SPLIT \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_subr(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SUBR \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_substr(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SUBSTR \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_svconst(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SVCONST \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_trunc(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_TRUNC \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_unpack(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_UNPACK \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_each(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_EACH \
- assert(o)
-
-STATIC bool S_is_handle_constructor(const OP *o, I32 numargs)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_IS_HANDLE_CONSTRUCTOR \
- assert(o)
-
-STATIC I32 S_is_list_assignment(pTHX_ const OP *o)
- __attribute__warn_unused_result__;
-
-# ifdef USE_ITHREADS
-STATIC void S_forget_pmop(pTHX_ PMOP *const o, U32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FORGET_PMOP \
- assert(o)
-
-# else
-STATIC void S_forget_pmop(pTHX_ PMOP *const o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FORGET_PMOP \
- assert(o)
-
-# endif
-STATIC void S_find_and_forget_pmops(pTHX_ OP *o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FIND_AND_FORGET_PMOPS \
- assert(o)
-
-STATIC void S_cop_free(pTHX_ COP *cop)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_COP_FREE \
- assert(cop)
-
-STATIC OP* S_modkids(pTHX_ OP *o, I32 type);
-STATIC OP* S_scalarboolean(pTHX_ OP *o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SCALARBOOLEAN \
- assert(o)
-
-STATIC OP* S_newDEFSVOP(pTHX)
- __attribute__warn_unused_result__;
-
-STATIC OP* S_search_const(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SEARCH_CONST \
- assert(o)
-
-STATIC OP* S_new_logop(pTHX_ I32 type, I32 flags, OP **firstp, OP **otherp)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_NEW_LOGOP \
- assert(firstp); assert(otherp)
-
-STATIC void S_simplify_sort(pTHX_ OP *o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SIMPLIFY_SORT \
- assert(o)
-
-STATIC const char* S_gv_ename(pTHX_ GV *gv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_ENAME \
- assert(gv)
-
-STATIC bool S_scalar_mod_type(const OP *o, I32 type)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_SCALAR_MOD_TYPE \
- assert(o)
-
-STATIC OP * S_my_kid(pTHX_ OP *o, OP *attrs, OP **imopsp)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_MY_KID \
- assert(imopsp)
-
-STATIC OP * S_dup_attrlist(pTHX_ OP *o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DUP_ATTRLIST \
- assert(o)
-
-STATIC void S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs, bool for_my)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_APPLY_ATTRS \
- assert(stash); assert(target)
-
-STATIC void S_apply_attrs_my(pTHX_ HV *stash, OP *target, OP *attrs, OP **imopsp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_APPLY_ATTRS_MY \
- assert(stash); assert(target); assert(imopsp)
-
-STATIC void S_bad_type(pTHX_ I32 n, const char *t, const char *name, const OP *kid)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_BAD_TYPE \
- assert(t); assert(name); assert(kid)
-
-STATIC void S_no_bareword_allowed(pTHX_ const OP *o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NO_BAREWORD_ALLOWED \
- assert(o)
-
-STATIC OP* S_no_fh_allowed(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NO_FH_ALLOWED \
- assert(o)
-
-STATIC OP* S_too_few_arguments(pTHX_ OP *o, const char* name)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS \
- assert(o); assert(name)
-
-STATIC OP* S_too_many_arguments(pTHX_ OP *o, const char* name)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS \
- assert(o); assert(name)
-
-STATIC bool S_looks_like_bool(pTHX_ const OP* o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_LOOKS_LIKE_BOOL \
- assert(o)
-
-STATIC OP* S_newGIVWHENOP(pTHX_ OP* cond, OP *block, I32 enter_opcode, I32 leave_opcode, PADOFFSET entertarg)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_NEWGIVWHENOP \
- assert(block)
-
-STATIC OP* S_ref_array_or_hash(pTHX_ OP* cond);
-STATIC void S_process_special_blocks(pTHX_ const char *const fullname, GV *const gv, CV *const cv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_PROCESS_SPECIAL_BLOCKS \
- assert(fullname); assert(gv); assert(cv)
-
-#endif
-#if defined(PL_OP_SLAB_ALLOC)
-PERL_CALLCONV void* Perl_Slab_Alloc(pTHX_ size_t sz)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_Slab_Free(pTHX_ void *op)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SLAB_FREE \
- assert(op)
-
-# if defined(PERL_DEBUG_READONLY_OPS)
-PERL_CALLCONV void Perl_pending_Slabs_to_ro(pTHX);
-PERL_CALLCONV OP * Perl_op_refcnt_inc(pTHX_ OP *o);
-PERL_CALLCONV PADOFFSET Perl_op_refcnt_dec(pTHX_ OP *o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_OP_REFCNT_DEC \
- assert(o)
-
-# if defined(PERL_IN_OP_C)
-STATIC void S_Slab_to_rw(pTHX_ void *op)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SLAB_TO_RW \
- assert(op)
-
-# endif
-# endif
-#endif
-
-#if defined(PERL_IN_PERL_C)
-STATIC void S_find_beginning(pTHX_ SV* linestr_sv, PerlIO *rsfp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_FIND_BEGINNING \
- assert(linestr_sv); assert(rsfp)
-
-STATIC void S_forbid_setid(pTHX_ const char flag, const bool suidscript);
-STATIC void S_incpush(pTHX_ const char *const dir, STRLEN len, U32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_INCPUSH \
- assert(dir)
-
-STATIC void S_incpush_use_sep(pTHX_ const char *p, STRLEN len, U32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_INCPUSH_USE_SEP \
- assert(p)
-
-STATIC void S_init_interp(pTHX);
-STATIC void S_init_ids(pTHX);
-STATIC void S_init_main_stash(pTHX);
-STATIC void S_init_perllib(pTHX);
-STATIC void S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_INIT_POSTDUMP_SYMBOLS \
- assert(argv)