#define PERL_ARGS_ASSERT_CUSTOM_OP_REGISTER \
assert(ppaddr); assert(xop)
/* PERL_CALLCONV const XOP * Perl_custom_op_xop(pTHX_ const OP *o)
+ __attribute__warn_unused_result__
__attribute__pure__; */
PERL_CALLCONV void Perl_cv_ckproto_len_flags(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len, const U32 flags);
#define PERL_ARGS_ASSERT_FIND_SCRIPT \
assert(scriptname)
PERL_CALLCONV I32 Perl_foldEQ(const char* a, const char* b, I32 len)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_FOLDEQ \
assert(a); assert(b)
PERL_CALLCONV I32 Perl_foldEQ_latin1(const char* a, const char* b, I32 len)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_FOLDEQ_LATIN1 \
assert(a); assert(b)
PERL_CALLCONV I32 Perl_foldEQ_locale(const char* a, const char* b, I32 len)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_FOLDEQ_LOCALE \
assert(a); assert(b)
assert(io)
PERL_CALLCONV bool Perl_isALNUM_lazy(pTHX_ const char* p)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
#define PERL_ARGS_ASSERT_ISALNUM_LAZY \
assert(p)
PERL_CALLCONV bool Perl_isIDFIRST_lazy(pTHX_ const char* p)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
#define PERL_ARGS_ASSERT_ISIDFIRST_LAZY \
assert(p)
__attribute__pure__; */
PERL_STATIC_INLINE bool S_is_c9strict_utf8_string(const U8 *s, const STRLEN len)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING \
assert(s)
__attribute__warn_unused_result__;
PERL_STATIC_INLINE bool S_is_strict_utf8_string(const U8 *s, const STRLEN len)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING \
assert(s)
assert(s)
PERL_CALLCONV bool Perl_is_uni_alnum(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_alnum_lc(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_alnumc(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_alnumc_lc(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_alpha(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_alpha_lc(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_ascii(pTHX_ UV c)
__attribute__deprecated__
PERL_CALLCONV bool Perl_is_uni_digit(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_digit_lc(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_graph(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_graph_lc(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_idfirst(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_idfirst_lc(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_lower(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_lower_lc(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_print(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_print_lc(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_punct(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_punct_lc(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_space(pTHX_ UV c)
__attribute__deprecated__
PERL_CALLCONV bool Perl_is_uni_upper(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_upper_lc(pTHX_ UV c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV bool Perl_is_uni_xdigit(pTHX_ UV c)
__attribute__deprecated__
#define PERL_ARGS_ASSERT_IS_UTF8_DIGIT \
assert(p)
+/* PERL_CALLCONV bool is_utf8_fixed_width_buf_flags(const U8 * const s, const STRLEN len, const U32 flags); */
+/* PERL_CALLCONV bool is_utf8_fixed_width_buf_loc_flags(const U8 * const s, const STRLEN len, const U8 **ep, const U32 flags); */
+PERL_STATIC_INLINE bool S_is_utf8_fixed_width_buf_loclen_flags(const U8 * const s, const STRLEN len, const U8 **ep, STRLEN *el, const U32 flags);
+#define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_LOCLEN_FLAGS \
+ assert(s)
PERL_CALLCONV bool Perl_is_utf8_graph(pTHX_ const U8 *p)
__attribute__deprecated__
__attribute__warn_unused_result__;
assert(p)
PERL_STATIC_INLINE bool Perl_is_utf8_string(const U8 *s, const STRLEN len)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_IS_UTF8_STRING \
assert(s)
PERL_STATIC_INLINE bool S_is_utf8_string_flags(const U8 *s, const STRLEN len, const U32 flags)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_IS_UTF8_STRING_FLAGS \
assert(s)
assert(p)
/* PERL_CALLCONV bool is_utf8_valid_partial_char(const U8 * const s, const U8 * const e)
+ __attribute__warn_unused_result__
__attribute__pure__; */
PERL_STATIC_INLINE bool S_is_utf8_valid_partial_char_flags(const U8 * const s, const U8 * const e, const U32 flags)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_IS_UTF8_VALID_PARTIAL_CHAR_FLAGS \
assert(s); assert(e)
#define PERL_ARGS_ASSERT_JMAYBE \
assert(o)
PERL_CALLCONV I32 Perl_keyword(pTHX_ const char *name, I32 len, bool all_keywords)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_KEYWORD \
assert(name)
#define PERL_ARGS_ASSERT_PERL_RUN \
assert(my_perl)
PERL_CALLCONV void Perl_pmop_dump(pTHX_ PMOP* pm);
-PERL_CALLCONV OP* Perl_pmruntime(pTHX_ OP *o, OP *expr, OP *repl, bool isreg, I32 floor);
+PERL_CALLCONV OP* Perl_pmruntime(pTHX_ OP *o, OP *expr, OP *repl, UV flags, I32 floor);
#define PERL_ARGS_ASSERT_PMRUNTIME \
assert(o); assert(expr)
PERL_CALLCONV void Perl_pop_scope(pTHX);
#define PERL_ARGS_ASSERT_REQUIRE_PV \
assert(pv)
PERL_CALLCONV char* Perl_rninstr(const char* big, const char* bigend, const char* little, const char* lend)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_RNINSTR \
assert(big); assert(bigend); assert(little); assert(lend)
assert(sv)
PERL_CALLCONV void Perl_sv_free_arenas(pTHX);
PERL_CALLCONV SV* Perl_sv_get_backrefs(SV *const sv)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_SV_GET_BACKREFS \
assert(sv)
PERL_CALLCONV void Perl_sv_setpv(pTHX_ SV *const sv, const char *const ptr);
#define PERL_ARGS_ASSERT_SV_SETPV \
assert(sv)
+PERL_CALLCONV char * Perl_sv_setpv_bufsize(pTHX_ SV *const sv, const STRLEN cur, const STRLEN len);
+#define PERL_ARGS_ASSERT_SV_SETPV_BUFSIZE \
+ assert(sv)
PERL_CALLCONV void Perl_sv_setpv_mg(pTHX_ SV *const sv, const char *const ptr);
#define PERL_ARGS_ASSERT_SV_SETPV_MG \
assert(sv)
assert(p); assert(lenp)
PERL_CALLCONV U32 Perl_to_uni_lower_lc(pTHX_ U32 c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV UV Perl_to_uni_title(pTHX_ UV c, U8 *p, STRLEN *lenp);
#define PERL_ARGS_ASSERT_TO_UNI_TITLE \
assert(p); assert(lenp)
PERL_CALLCONV U32 Perl_to_uni_title_lc(pTHX_ U32 c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV UV Perl_to_uni_upper(pTHX_ UV c, U8 *p, STRLEN *lenp);
#define PERL_ARGS_ASSERT_TO_UNI_UPPER \
assert(p); assert(lenp)
PERL_CALLCONV U32 Perl_to_uni_upper_lc(pTHX_ U32 c)
__attribute__deprecated__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
PERL_CALLCONV UV Perl_to_utf8_case(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, SV **swashp, const char *normal, const char *special)
__attribute__deprecated__;
#define PERL_ARGS_ASSERT_UTF8_HOP \
assert(s)
+PERL_STATIC_INLINE U8* Perl_utf8_hop_back(const U8 *s, SSize_t off, const U8 *start)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+#define PERL_ARGS_ASSERT_UTF8_HOP_BACK \
+ assert(s); assert(start)
+
+PERL_STATIC_INLINE U8* Perl_utf8_hop_forward(const U8 *s, SSize_t off, const U8 *end)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+#define PERL_ARGS_ASSERT_UTF8_HOP_FORWARD \
+ assert(s); assert(end)
+
+PERL_STATIC_INLINE U8* Perl_utf8_hop_safe(const U8 *s, SSize_t off, const U8 *start, const U8 *end)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+#define PERL_ARGS_ASSERT_UTF8_HOP_SAFE \
+ assert(s); assert(start); assert(end)
+
PERL_CALLCONV STRLEN Perl_utf8_length(pTHX_ const U8* s, const U8 *e)
__attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_UTF8_TO_UVUNI_BUF \
assert(s); assert(send)
-PERL_CALLCONV UV Perl_utf8n_to_uvchr(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags);
+PERL_CALLCONV UV Perl_utf8n_to_uvchr(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags);
#define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR \
assert(s)
+PERL_CALLCONV UV Perl_utf8n_to_uvchr_error(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags, U32 * errors);
+#define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR_ERROR \
+ assert(s)
PERL_CALLCONV UV Perl_utf8n_to_uvuni(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags);
#define PERL_ARGS_ASSERT_UTF8N_TO_UVUNI \
assert(s)
#endif
#if !(defined(HAS_MEMMEM))
PERL_CALLCONV char* Perl_ninstr(const char* big, const char* bigend, const char* little, const char* lend)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_NINSTR \
assert(big); assert(bigend); assert(little); assert(lend)
# endif
#endif
#if !(defined(WIN32))
-/* PERL_CALLCONV char* my_setlocale(pTHX_ int category, const char* locale)
- __attribute__pure__; */
-
+/* PERL_CALLCONV char* my_setlocale(pTHX_ int category, const char* locale); */
#endif
#if !(defined(_MSC_VER))
PERL_CALLCONV_NO_RET int Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg)
#endif
#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
PERL_CALLCONV int Perl_my_memcmp(const void* vs1, const void* vs2, size_t len)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_MY_MEMCMP \
assert(vs1); assert(vs2)
#endif
#if !defined(HAS_SIGNBIT)
PERL_CALLCONV int Perl_signbit(NV f)
+ __attribute__warn_unused_result__
__attribute__pure__;
#endif
# endif
# if defined(USE_LOCALE) && (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
PERL_CALLCONV char * Perl__setlocale_debug_string(const int category, const char* const locale, const char* const retval)
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
# endif
# if defined(USE_LOCALE) && defined(PERL_IN_LOCALE_C)
assert(s); assert(e)
# endif
#endif
+#if defined(DEBUGGING) && defined(ENABLE_REGEX_SETS_DEBUGGING)
+# if defined(PERL_IN_REGCOMP_C)
+STATIC void S_dump_regex_sets_structures(pTHX_ RExC_state_t *pRExC_state, AV * stack, const IV fence, AV * fence_stack);
+#define PERL_ARGS_ASSERT_DUMP_REGEX_SETS_STRUCTURES \
+ assert(pRExC_state); assert(stack); assert(fence_stack)
+# endif
+#endif
#if defined(DEBUG_LEAKING_SCALARS_FORK_DUMP)
PERL_CALLCONV void Perl_dump_sv_child(pTHX_ SV *sv);
#define PERL_ARGS_ASSERT_DUMP_SV_CHILD \
#endif
#if defined(HAS_MEMMEM)
PERL_CALLCONV char* Perl_ninstr(const char* big, const char* bigend, const char* little, const char* lend)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_NINSTR \
assert(big); assert(bigend); assert(little); assert(lend)
#define PERL_ARGS_ASSERT_ALLOC_MAYBE_POPULATE_EXACT \
assert(pRExC_state); assert(node); assert(flagp)
STATIC const char * S_cntrl_to_mnemonic(const U8 c)
+ __attribute__warn_unused_result__
__attribute__pure__;
PERL_STATIC_INLINE U8 S_compute_EXACTish(RExC_state_t *pRExC_state);
#define PERL_ARGS_ASSERT_CONSTRUCT_AHOCORASICK_FROM_TRIE \
assert(pRExC_state); assert(source)
STATIC int S_edit_distance(const UV *src, const UV *tgt, const STRLEN x, const STRLEN y, const SSize_t maxDistance)
+ __attribute__warn_unused_result__
__attribute__pure__;
#define PERL_ARGS_ASSERT_EDIT_DISTANCE \
assert(src); assert(tgt)
#define PERL_ARGS_ASSERT_REGCLASS \
assert(pRExC_state); assert(flagp)
STATIC unsigned int S_regex_set_precedence(const U8 my_operator)
+ __attribute__warn_unused_result__
__attribute__pure__;
STATIC void S_reginsert(pTHX_ RExC_state_t *pRExC_state, U8 op, regnode *opnd, U32 depth);
#define PERL_ARGS_ASSERT_REG_CHECK_NAMED_BUFF_MATCHED \
assert(rex); assert(scan)
-STATIC void S_regcppop(pTHX_ regexp *rex, U32 *maxopenparen_p);
+STATIC void S_regcp_restore(pTHX_ regexp *rex, I32 ix, U32 *maxopenparen_p _pDEPTH);
+#define PERL_ARGS_ASSERT_REGCP_RESTORE \
+ assert(rex); assert(maxopenparen_p)
+STATIC void S_regcppop(pTHX_ regexp *rex, U32 *maxopenparen_p _pDEPTH);
#define PERL_ARGS_ASSERT_REGCPPOP \
assert(rex); assert(maxopenparen_p)
-STATIC CHECKPOINT S_regcppush(pTHX_ const regexp *rex, I32 parenfloor, U32 maxopenparen);
+STATIC CHECKPOINT S_regcppush(pTHX_ const regexp *rex, I32 parenfloor, U32 maxopenparen _pDEPTH);
#define PERL_ARGS_ASSERT_REGCPPUSH \
assert(rex)
STATIC U8* S_reghop3(U8 *s, SSize_t off, const U8 *lim)
#define PERL_ARGS_ASSERT_REGMATCH \
assert(reginfo); assert(startpos); assert(prog)
-STATIC I32 S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p, regmatch_info *const reginfo, I32 max, int depth)
+STATIC I32 S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p, regmatch_info *const reginfo, I32 max _pDEPTH)
__attribute__warn_unused_result__;
#define PERL_ARGS_ASSERT_REGREPEAT \
assert(prog); assert(startposp); assert(p); assert(reginfo)
STATIC int S_intuit_more(pTHX_ char *s);
#define PERL_ARGS_ASSERT_INTUIT_MORE \
assert(s)
-STATIC I32 S_lop(pTHX_ I32 f, int x, char *s);
+STATIC I32 S_lop(pTHX_ I32 f, U8 x, char *s);
#define PERL_ARGS_ASSERT_LOP \
assert(s)
PERL_STATIC_NO_RET void S_missingterm(pTHX_ char *s)
assert(stash); assert(name)
#endif
#if defined(PERL_IN_UTF8_C)
+STATIC char * S__byte_dump_string(pTHX_ const U8 * s, const STRLEN len);
+#define PERL_ARGS_ASSERT__BYTE_DUMP_STRING \
+ assert(s)
STATIC UV S__to_utf8_case(pTHX_ const UV uv1, const U8 *p, U8* ustrp, STRLEN *lenp, SV **swashp, const char *normal, const char *special);
#define PERL_ARGS_ASSERT__TO_UTF8_CASE \
assert(p); assert(ustrp); assert(swashp); assert(normal)
#define PERL_ARGS_ASSERT_CHECK_LOCALE_BOUNDARY_CROSSING \
assert(p); assert(ustrp); assert(lenp)
+PERL_STATIC_INLINE bool S_does_utf8_overflow(const U8 * const s, const U8 * e)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+#define PERL_ARGS_ASSERT_DOES_UTF8_OVERFLOW \
+ assert(s); assert(e)
+
+PERL_STATIC_INLINE bool S_isFF_OVERLONG(const U8 * const s, const STRLEN len)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+#define PERL_ARGS_ASSERT_ISFF_OVERLONG \
+ assert(s)
+
PERL_STATIC_INLINE bool S_is_utf8_common(pTHX_ const U8 *const p, SV **swash, const char * const swashname, SV* const invlist)
__attribute__warn_unused_result__;
#define PERL_ARGS_ASSERT_IS_UTF8_COMMON \
#define PERL_ARGS_ASSERT_IS_UTF8_CP_ABOVE_31_BITS \
assert(s); assert(e)
+PERL_STATIC_INLINE bool S_is_utf8_overlong_given_start_byte_ok(const U8 * const s, const STRLEN len)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+#define PERL_ARGS_ASSERT_IS_UTF8_OVERLONG_GIVEN_START_BYTE_OK \
+ assert(s)
+
STATIC U8* S_swash_scan_list_line(pTHX_ U8* l, U8* const lend, UV* min, UV* max, UV* val, const bool wants_value, const U8* const typestr)
__attribute__warn_unused_result__;
#define PERL_ARGS_ASSERT_SWASH_SCAN_LIST_LINE \
STATIC U8 S_to_lower_latin1(const U8 c, U8 *p, STRLEN *lenp)
__attribute__warn_unused_result__;
+STATIC char * S_unexpected_non_continuation_text(pTHX_ const U8 * const s, STRLEN print_len, const STRLEN non_cont_byte_pos, const STRLEN expect_len)
+ __attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_UNEXPECTED_NON_CONTINUATION_TEXT \
+ assert(s)
+
#endif
#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
PERL_CALLCONV UV Perl__to_upper_title_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp, const char S_or_s);
assert(format)
#endif
#if defined(WIN32)
-PERL_CALLCONV char* Perl_my_setlocale(pTHX_ int category, const char* locale)
- __attribute__pure__;
-
+PERL_CALLCONV char* Perl_my_setlocale(pTHX_ int category, const char* locale);
PERL_CALLCONV_NO_RET void win32_croak_not_implemented(const char * fname)
__attribute__noreturn__;
#define PERL_ARGS_ASSERT_WIN32_CROAK_NOT_IMPLEMENTED \