-PERL_CALLCONV char* Perl_instr(pTHX_ const char* big, const char* little);
-PERL_CALLCONV bool Perl_io_close(pTHX_ IO* io, bool not_implicit);
-PERL_CALLCONV OP* Perl_invert(pTHX_ OP* cmd);
-PERL_CALLCONV bool Perl_is_gv_magical(pTHX_ const char *name, STRLEN len, U32 flags);
-PERL_CALLCONV I32 Perl_is_lvalue_sub(pTHX);
-PERL_CALLCONV U32 Perl_to_uni_upper_lc(pTHX_ U32 c);
-PERL_CALLCONV U32 Perl_to_uni_title_lc(pTHX_ U32 c);
-PERL_CALLCONV U32 Perl_to_uni_lower_lc(pTHX_ U32 c);
-PERL_CALLCONV bool Perl_is_uni_alnum(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_alnumc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_idfirst(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_alpha(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_ascii(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_space(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_cntrl(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_graph(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_digit(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_upper(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_lower(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_print(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_punct(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_xdigit(pTHX_ UV c);
-PERL_CALLCONV UV Perl_to_uni_upper(pTHX_ UV c, U8 *p, STRLEN *lenp);
-PERL_CALLCONV UV Perl_to_uni_title(pTHX_ UV c, U8 *p, STRLEN *lenp);
-PERL_CALLCONV UV Perl_to_uni_lower(pTHX_ UV c, U8 *p, STRLEN *lenp);
-PERL_CALLCONV UV Perl_to_uni_fold(pTHX_ UV c, U8 *p, STRLEN *lenp);
-PERL_CALLCONV bool Perl_is_uni_alnum_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_alnumc_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_idfirst_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_alpha_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_ascii_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_space_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_cntrl_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_graph_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_digit_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_upper_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_lower_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_print_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_punct_lc(pTHX_ UV c);
-PERL_CALLCONV bool Perl_is_uni_xdigit_lc(pTHX_ UV c);
-PERL_CALLCONV STRLEN Perl_is_utf8_char(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_string(pTHX_ const U8 *s, STRLEN len);
-PERL_CALLCONV bool Perl_is_utf8_string_loc(pTHX_ const U8 *s, STRLEN len, const U8 **p);
-PERL_CALLCONV bool Perl_is_utf8_alnum(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_alnumc(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_idfirst(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_idcont(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_alpha(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_ascii(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_space(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_cntrl(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_digit(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_graph(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_upper(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_lower(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_print(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_punct(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_xdigit(pTHX_ const U8 *p);
-PERL_CALLCONV bool Perl_is_utf8_mark(pTHX_ const U8 *p);
-PERL_CALLCONV OP* Perl_jmaybe(pTHX_ OP* arg);
-PERL_CALLCONV I32 Perl_keyword(pTHX_ char* d, I32 len);
+PERL_CALLCONV char* Perl_instr(pTHX_ const char* big, const char* little)
+ __attribute__warn_unused_result__
+ __attribute__pure__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
+PERL_CALLCONV bool Perl_io_close(pTHX_ IO* io, bool not_implicit)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV OP* Perl_invert(pTHX_ OP* cmd)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV bool Perl_is_gv_magical(pTHX_ const char *name, STRLEN len, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV I32 Perl_is_lvalue_sub(pTHX)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV U32 Perl_to_uni_upper_lc(pTHX_ U32 c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV U32 Perl_to_uni_title_lc(pTHX_ U32 c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV U32 Perl_to_uni_lower_lc(pTHX_ U32 c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_alnum(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_alnumc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_idfirst(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_alpha(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_ascii(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_space(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_cntrl(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_graph(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_digit(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_upper(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_lower(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_print(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_punct(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_xdigit(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV UV Perl_to_uni_upper(pTHX_ UV c, U8 *p, STRLEN *lenp)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+
+PERL_CALLCONV UV Perl_to_uni_title(pTHX_ UV c, U8 *p, STRLEN *lenp)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+
+PERL_CALLCONV UV Perl_to_uni_lower(pTHX_ UV c, U8 *p, STRLEN *lenp)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+
+PERL_CALLCONV UV Perl_to_uni_fold(pTHX_ UV c, U8 *p, STRLEN *lenp)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+
+PERL_CALLCONV bool Perl_is_uni_alnum_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_alnumc_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_idfirst_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_alpha_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_ascii_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_space_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_cntrl_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_graph_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_digit_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_upper_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_lower_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_print_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_punct_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV bool Perl_is_uni_xdigit_lc(pTHX_ UV c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV STRLEN Perl_is_utf8_char(pTHX_ const U8 *p)
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_string(pTHX_ const U8 *s, STRLEN len)
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_string_loc(pTHX_ const U8 *s, STRLEN len, const U8 **p)
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_string_loclen(pTHX_ const U8 *s, STRLEN len, const U8 **ep, STRLEN *el)
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_alnum(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_alnumc(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_idfirst(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_idcont(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_alpha(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_ascii(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_space(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_cntrl(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_digit(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_graph(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_upper(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_lower(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_print(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_punct(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_xdigit(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool Perl_is_utf8_mark(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV OP* Perl_jmaybe(pTHX_ OP* arg)
+ __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV I32 Perl_keyword(pTHX_ const char* d, I32 len)
+ __attribute__pure__
+ __attribute__nonnull__(pTHX_1);
+