X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=proto.h;h=979076f8c22dda4e1712e337d17917fdf215076a;hb=8ead3603a48f891846d351cca41dd2b5647ab9b9;hp=2a3b118deeeafd7e8c7ad63a263dd7588f5f0877;hpb=f7461760003db2ce68155c97ea6c1658e96fcd27;p=p5sagit%2Fp5-mst-13.2.git diff --git a/proto.h b/proto.h index 2a3b118..979076f 100644 --- a/proto.h +++ b/proto.h @@ -119,6 +119,13 @@ PERL_CALLCONV void Perl_set_context(void *t) #define PERL_ARGS_ASSERT_SET_CONTEXT \ assert(t) +PERL_CALLCONV I32 Perl_regcurly(const char *s) + __attribute__warn_unused_result__ + __attribute__pure__ + __attribute__nonnull__(1); +#define PERL_ARGS_ASSERT_REGCURLY \ + assert(s) + END_EXTERN_C @@ -1414,6 +1421,66 @@ PERL_CALLCONV bool Perl_is_utf8_mark(pTHX_ const U8 *p) #define PERL_ARGS_ASSERT_IS_UTF8_MARK \ assert(p) +PERL_CALLCONV bool Perl_is_utf8_X_begin(pTHX_ const U8 *p) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_IS_UTF8_X_BEGIN \ + assert(p) + +PERL_CALLCONV bool Perl_is_utf8_X_extend(pTHX_ const U8 *p) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_IS_UTF8_X_EXTEND \ + assert(p) + +PERL_CALLCONV bool Perl_is_utf8_X_prepend(pTHX_ const U8 *p) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_IS_UTF8_X_PREPEND \ + assert(p) + +PERL_CALLCONV bool Perl_is_utf8_X_non_hangul(pTHX_ const U8 *p) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_IS_UTF8_X_NON_HANGUL \ + assert(p) + +PERL_CALLCONV bool Perl_is_utf8_X_L(pTHX_ const U8 *p) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_IS_UTF8_X_L \ + assert(p) + +PERL_CALLCONV bool Perl_is_utf8_X_LV(pTHX_ const U8 *p) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_IS_UTF8_X_LV \ + assert(p) + +PERL_CALLCONV bool Perl_is_utf8_X_LVT(pTHX_ const U8 *p) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_IS_UTF8_X_LVT \ + assert(p) + +PERL_CALLCONV bool Perl_is_utf8_X_LV_LVT_V(pTHX_ const U8 *p) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_IS_UTF8_X_LV_LVT_V \ + assert(p) + +PERL_CALLCONV bool Perl_is_utf8_X_T(pTHX_ const U8 *p) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_IS_UTF8_X_T \ + assert(p) + +PERL_CALLCONV bool Perl_is_utf8_X_V(pTHX_ const U8 *p) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_IS_UTF8_X_V \ + assert(p) + PERL_CALLCONV OP* Perl_jmaybe(pTHX_ OP *o) __attribute__nonnull__(pTHX_1); #define PERL_ARGS_ASSERT_JMAYBE \ @@ -1431,10 +1498,46 @@ STATIC OP* S_opt_scalarhv(pTHX_ OP* rep_op) #define PERL_ARGS_ASSERT_OPT_SCALARHV \ assert(rep_op) +STATIC OP* S_is_inplace_av(pTHX_ OP* o, OP* oright) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_IS_INPLACE_AV \ + assert(o) + #endif PERL_CALLCONV void Perl_leave_scope(pTHX_ I32 base); PERL_CALLCONV void Perl_lex_end(pTHX); PERL_CALLCONV void Perl_lex_start(pTHX_ SV* line, PerlIO *rsfp, bool new_filter); +PERL_CALLCONV bool Perl_lex_bufutf8(pTHX); +PERL_CALLCONV char* Perl_lex_grow_linestr(pTHX_ STRLEN len); +PERL_CALLCONV void Perl_lex_stuff_pvn(pTHX_ char* pv, STRLEN len, U32 flags) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_LEX_STUFF_PVN \ + assert(pv) + +PERL_CALLCONV void Perl_lex_stuff_sv(pTHX_ SV* sv, U32 flags) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_LEX_STUFF_SV \ + assert(sv) + +PERL_CALLCONV void Perl_lex_unstuff(pTHX_ char* ptr) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_LEX_UNSTUFF \ + assert(ptr) + +PERL_CALLCONV void Perl_lex_read_to(pTHX_ char* ptr) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_LEX_READ_TO \ + assert(ptr) + +PERL_CALLCONV void Perl_lex_discard_to(pTHX_ char* ptr) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_LEX_DISCARD_TO \ + assert(ptr) + +PERL_CALLCONV bool Perl_lex_next_chunk(pTHX_ U32 flags); +PERL_CALLCONV I32 Perl_lex_peek_unichar(pTHX_ U32 flags); +PERL_CALLCONV I32 Perl_lex_read_unichar(pTHX_ U32 flags); +PERL_CALLCONV void Perl_lex_read_space(pTHX_ U32 flags); PERL_CALLCONV void Perl_op_null(pTHX_ OP* o) __attribute__nonnull__(pTHX_1); #define PERL_ARGS_ASSERT_OP_NULL \ @@ -2287,6 +2390,11 @@ PERL_CALLCONV const char* Perl_scan_version(pTHX_ const char *s, SV *rv, bool qv #define PERL_ARGS_ASSERT_SCAN_VERSION \ assert(s); assert(rv) +PERL_CALLCONV const char* Perl_prescan_version(pTHX_ const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_PRESCAN_VERSION \ + assert(s) + PERL_CALLCONV SV* Perl_new_version(pTHX_ SV *ver) __attribute__nonnull__(pTHX_1); #define PERL_ARGS_ASSERT_NEW_VERSION \ @@ -2357,7 +2465,7 @@ PERL_CALLCONV void Perl_package_version(pTHX_ OP* v) assert(v) PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype); -PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name) +PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name, const STRLEN len, const U32 flags) __attribute__nonnull__(pTHX_1); #define PERL_ARGS_ASSERT_ALLOCMY \ assert(name) @@ -2382,7 +2490,9 @@ PERL_CALLCONV OP* Perl_oopsHV(pTHX_ OP* o) assert(o) PERL_CALLCONV void Perl_pad_leavemy(pTHX); +#ifdef DEBUGGING PERL_CALLCONV SV* Perl_pad_sv(pTHX_ PADOFFSET po); +#endif PERL_CALLCONV void Perl_pad_free(pTHX_ PADOFFSET po); #if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT) STATIC void S_pad_reset(pTHX); @@ -3271,6 +3381,11 @@ PERL_CALLCONV void Perl_sv_pos_u2b(pTHX_ SV *const sv, I32 *const offsetp, I32 * #define PERL_ARGS_ASSERT_SV_POS_U2B \ assert(offsetp) +PERL_CALLCONV STRLEN Perl_sv_pos_u2b_flags(pTHX_ SV *const sv, STRLEN uoffset, STRLEN *const lenp, U32 flags) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_SV_POS_U2B_FLAGS \ + assert(sv) + PERL_CALLCONV void Perl_sv_pos_b2u(pTHX_ SV *const sv, I32 *const offsetp) __attribute__nonnull__(pTHX_2); #define PERL_ARGS_ASSERT_SV_POS_B2U \ @@ -4282,7 +4397,7 @@ STATIC HV* S_require_tie_mod(pTHX_ GV *gv, const char *varpv, SV* namesv, const #endif -PERL_CALLCONV void* Perl_get_arena(pTHX_ const size_t svtype, const U32 misc) +PERL_CALLCONV void* Perl_get_arena(pTHX_ const size_t arenasize, const svtype bodytype) __attribute__malloc__ __attribute__warn_unused_result__; @@ -5206,12 +5321,6 @@ STATIC regnode* S_regclass(pTHX_ struct RExC_state_t *pRExC_state, U32 depth) #define PERL_ARGS_ASSERT_REGCLASS \ assert(pRExC_state) -STATIC I32 S_regcurly(const char *s) - __attribute__warn_unused_result__ - __attribute__nonnull__(1); -#define PERL_ARGS_ASSERT_REGCURLY \ - assert(s) - STATIC regnode* S_reg_node(pTHX_ struct RExC_state_t *pRExC_state, U8 op) __attribute__nonnull__(pTHX_1); #define PERL_ARGS_ASSERT_REG_NODE \ @@ -5704,6 +5813,11 @@ STATIC char* S_force_version(pTHX_ char *s, int guessing) #define PERL_ARGS_ASSERT_FORCE_VERSION \ assert(s) +STATIC char* S_force_strict_version(pTHX_ char *s) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_FORCE_STRICT_VERSION \ + assert(s) + STATIC char* S_force_word(pTHX_ char *start, int token, int check_keyword, int allow_pack, int allow_tick) __attribute__nonnull__(pTHX_1); #define PERL_ARGS_ASSERT_FORCE_WORD \ @@ -6101,7 +6215,7 @@ PERL_CALLCONV void Perl_pad_undef(pTHX_ CV* cv) #define PERL_ARGS_ASSERT_PAD_UNDEF \ assert(cv) -PERL_CALLCONV PADOFFSET Perl_pad_add_name(pTHX_ const char *name, HV* typestash, HV* ourstash, bool clone, bool state) +PERL_CALLCONV PADOFFSET Perl_pad_add_name(pTHX_ const char *name, const STRLEN len, const U32 flags, HV *typestash, HV *ourstash) __attribute__nonnull__(pTHX_1); #define PERL_ARGS_ASSERT_PAD_ADD_NAME \ assert(name) @@ -6111,12 +6225,13 @@ PERL_CALLCONV PADOFFSET Perl_pad_add_anon(pTHX_ SV* sv, OPCODE op_type) #define PERL_ARGS_ASSERT_PAD_ADD_ANON \ assert(sv) -PERL_CALLCONV void Perl_pad_check_dup(pTHX_ const char* name, bool is_our, const HV* ourstash) - __attribute__nonnull__(pTHX_1) - __attribute__nonnull__(pTHX_3); +#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT) +STATIC void S_pad_check_dup(pTHX_ SV *name, const U32 flags, const HV *ourstash) + __attribute__nonnull__(pTHX_1); #define PERL_ARGS_ASSERT_PAD_CHECK_DUP \ - assert(name); assert(ourstash) + assert(name) +#endif #ifdef DEBUGGING PERL_CALLCONV void Perl_pad_setsv(pTHX_ PADOFFSET po, SV* sv) __attribute__nonnull__(pTHX_2); @@ -6157,6 +6272,11 @@ STATIC PADOFFSET S_pad_findlex(pTHX_ const char *name, const CV* cv, U32 seq, in #define PERL_ARGS_ASSERT_PAD_FINDLEX \ assert(name); assert(cv); assert(out_name_sv); assert(out_flags) +STATIC PADOFFSET S_pad_add_name_sv(pTHX_ SV *namesv, const U32 flags, HV *typestash, HV *ourstash) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_PAD_ADD_NAME_SV \ + assert(namesv) + # if defined(DEBUGGING) STATIC void S_cv_dump(pTHX_ const CV *cv, const char *title) __attribute__nonnull__(pTHX_1) @@ -6183,11 +6303,13 @@ PERL_CALLCONV void Perl_save_set_svflags(pTHX_ SV *sv, U32 mask, U32 val) #define PERL_ARGS_ASSERT_SAVE_SET_SVFLAGS \ assert(sv) +#ifdef DEBUGGING PERL_CALLCONV void Perl_hv_assert(pTHX_ HV *hv) __attribute__nonnull__(pTHX_1); #define PERL_ARGS_ASSERT_HV_ASSERT \ assert(hv) +#endif PERL_CALLCONV SV* Perl_hv_scalar(pTHX_ HV *hv) __attribute__warn_unused_result__