This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
embed.fnc: Functions in mathoms are deprecated
authorKarl Williamson <khw@cpan.org>
Sun, 1 Sep 2019 02:03:04 +0000 (20:03 -0600)
committerKarl Williamson <khw@cpan.org>
Tue, 3 Sep 2019 03:52:10 +0000 (21:52 -0600)
(unless there is a macro to bypass them)

These functions can be removed at any time, and any installation may
disallow them.  So they are effectively deprecated.  Make this explicit.

embed.fnc
proto.h

index e705d22..931fe39 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -437,8 +437,8 @@ AfTp        |void   |sv_catpvf_nocontext|NN SV *const sv|NN const char *const pat|...
 AfTp   |void   |sv_setpvf_nocontext|NN SV *const sv|NN const char *const pat|...
 AfTp   |void   |sv_catpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
 AfTp   |void   |sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
-AbfTp  |int    |fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
-AbfTp  |int    |printf_nocontext|NN const char *format|...
+AbfTpD |int    |fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
+AbfTpD |int    |printf_nocontext|NN const char *format|...
 #endif
 : Used in pp.c
 pd     |SV *   |core_prototype |NULLOK SV *sv|NN const char *name \
@@ -497,7 +497,7 @@ Ap  |void   |dounwind       |I32 cxix
 pMb    |bool|do_aexec  |NULLOK SV* really|NN SV** mark|NN SV** sp
 : Used in pp_sys.c
 p      |bool|do_aexec5 |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
-Abp    |int    |do_binmode     |NN PerlIO *fp|int iotype|int mode
+AbpD   |int    |do_binmode     |NN PerlIO *fp|int iotype|int mode
 : Used in pp.c
 Ap     |bool   |do_close       |NULLOK GV* gv|bool not_implicit
 : Defined in doio.c, used only in pp_sys.c
@@ -542,7 +542,7 @@ Ap  |void   |do_join        |NN SV *sv|NN SV *delim|NN SV **mark|NN SV **sp
 pR     |I32    |do_ncmp        |NN SV *const left|NN SV *const right
 ApMb   |bool   |do_open        |NN GV* gv|NN const char* name|I32 len|int as_raw \
                                |int rawmode|int rawperm|NULLOK PerlIO* supplied_fp
-Abp    |bool   |do_open9       |NN GV *gv|NN const char *name|I32 len|int as_raw \
+AbpD   |bool   |do_open9       |NN GV *gv|NN const char *name|I32 len|int as_raw \
                                |int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \
                                |NN SV *svs|I32 num
 pT     |void   |setfd_cloexec|int fd
@@ -671,7 +671,7 @@ ApR |GV*    |gv_autoload_pv |NULLOK HV* stash|NN const char* namepv \
 ApR    |GV*    |gv_autoload_pvn        |NULLOK HV* stash|NN const char* name \
                                         |STRLEN len|U32 flags
 Ap     |void   |gv_check       |NN HV* stash
-Abp    |void   |gv_efullname   |NN SV* sv|NN const GV* gv
+AbpD   |void   |gv_efullname   |NN SV* sv|NN const GV* gv
 ApMb   |void   |gv_efullname3  |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
 Ap     |void   |gv_efullname4  |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
 Ap     |GV*    |gv_fetchfile   |NN const char* name
@@ -701,7 +701,7 @@ Apx |GV*    |gv_fetchmethod_pv_flags|NN HV* stash|NN const char* name \
 Apx    |GV*    |gv_fetchmethod_pvn_flags|NN HV* stash|NN const char* name \
                                |const STRLEN len|U32 flags
 Ap     |GV*    |gv_fetchpv     |NN const char *nambeg|I32 add|const svtype sv_type
-Abp    |void   |gv_fullname    |NN SV* sv|NN const GV* gv
+AbpD   |void   |gv_fullname    |NN SV* sv|NN const GV* gv
 ApMb   |void   |gv_fullname3   |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
 Ap     |void   |gv_fullname4   |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
 : Used in scope.c
@@ -1141,7 +1141,7 @@ pod       |SV*    |magic_methcall |NN SV *sv|NN const MAGIC *mg \
 Ap     |I32 *  |markstack_grow
 #if defined(USE_LOCALE_COLLATE)
 p      |int    |magic_setcollxfrm|NN SV* sv|NN MAGIC* mg
-pb     |char*  |mem_collxfrm   |NN const char* input_string|STRLEN len|NN STRLEN* xlen
+pbD    |char*  |mem_collxfrm   |NN const char* input_string|STRLEN len|NN STRLEN* xlen
 : Defined in locale.c, used only in sv.c
 #   if defined(PERL_IN_LOCALE_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_MATHOMS_C)
 px     |char*  |_mem_collxfrm  |NN const char* input_string    \
@@ -1392,7 +1392,7 @@ ATdo      |const char*|Perl_langinfo|const nl_item item
 ATdo   |const char*|Perl_langinfo|const int item
 #endif
 ApOx   |int    |init_i18nl10n  |int printwarn
-AbpOx  |int    |init_i18nl14n  |int printwarn
+AbpOxD |int    |init_i18nl14n  |int printwarn
 p      |char*  |my_strerror    |const int errnum
 XpT    |void   |_warn_problematic_locale
 Xp     |void   |set_numeric_underlying
@@ -1542,10 +1542,10 @@ Ap      |void   |save_I8        |NN I8* bytep
 Ap     |void   |save_int       |NN int* intp
 Ap     |void   |save_item      |NN SV* item
 Ap     |void   |save_iv        |NN IV *ivp
-Abp    |void   |save_list      |NN SV** sarg|I32 maxsarg
-Abp    |void   |save_long      |NN long* longp
+AbpD   |void   |save_list      |NN SV** sarg|I32 maxsarg
+AbpD   |void   |save_long      |NN long* longp
 ApMb   |void   |save_mortalizesv|NN SV* sv
-Abp    |void   |save_nogv      |NN GV* gv
+AbpD   |void   |save_nogv      |NN GV* gv
 : Used in SAVEFREOP(), used in gv.c, op.c, perl.c, pp_ctl.c, pp_sort.c
 ApMb   |void   |save_op
 Ap     |SV*    |save_scalar    |NN GV* gv
@@ -1619,15 +1619,15 @@ ApdMb   |char*  |sv_2pvutf8     |NN SV *sv|NULLOK STRLEN *const lp
 Ap     |char*  |sv_2pvutf8_flags       |NN SV *sv|NULLOK STRLEN *const lp|const U32 flags
 ApdMb  |char*  |sv_2pvbyte     |NN SV *sv|NULLOK STRLEN *const lp
 Ap     |char*  |sv_2pvbyte_flags       |NN SV *sv|NULLOK STRLEN *const lp|const U32 flags
-Abp    |char*  |sv_pvn_nomg    |NN SV* sv|NULLOK STRLEN* lp
+AbpD   |char*  |sv_pvn_nomg    |NN SV* sv|NULLOK STRLEN* lp
 ApMb   |UV     |sv_2uv         |NN SV *sv
 Apd    |UV     |sv_2uv_flags   |NN SV *const sv|const I32 flags
-Abpd   |IV     |sv_iv          |NN SV* sv
-Abpd   |UV     |sv_uv          |NN SV* sv
-Abpd   |NV     |sv_nv          |NN SV* sv
-Abpd   |char*  |sv_pvn         |NN SV *sv|NN STRLEN *lp
-Abpd   |char*  |sv_pvutf8n     |NN SV *sv|NN STRLEN *lp
-Abpd   |char*  |sv_pvbyten     |NN SV *sv|NN STRLEN *lp
+AbpdD  |IV     |sv_iv          |NN SV* sv
+AbpdD  |UV     |sv_uv          |NN SV* sv
+AbpdD  |NV     |sv_nv          |NN SV* sv
+AbpdD  |char*  |sv_pvn         |NN SV *sv|NN STRLEN *lp
+AbpdD  |char*  |sv_pvutf8n     |NN SV *sv|NN STRLEN *lp
+AbpdD  |char*  |sv_pvbyten     |NN SV *sv|NN STRLEN *lp
 Apd    |I32    |sv_true        |NULLOK SV *const sv
 #if defined(PERL_IN_SV_C)
 Sd     |void   |sv_add_arena   |NN char *const ptr|const U32 size \
@@ -1735,7 +1735,7 @@ p |void   |sv_resetpvn    |NULLOK const char* s|STRLEN len \
 Afpd   |void   |sv_setpvf      |NN SV *const sv|NN const char *const pat|...
 Apd    |void   |sv_vsetpvf     |NN SV *const sv|NN const char *const pat|NULLOK va_list *const args
 Apd    |void   |sv_setiv       |NN SV *const sv|const IV num
-Apdb   |void   |sv_setpviv     |NN SV *const sv|const IV num
+ApdbD  |void   |sv_setpviv     |NN SV *const sv|const IV num
 Apd    |void   |sv_setuv       |NN SV *const sv|const UV num
 Apd    |void   |sv_setnv       |NN SV *const sv|const NV num
 Apd    |SV*    |sv_setref_iv   |NN SV *const rv|NULLOK const char *const classname|const IV iv
@@ -1910,7 +1910,7 @@ pT        |bool   |translate_substr_offsets|STRLEN curlen|IV pos1_iv \
 #if defined(UNLINK_ALL_VERSIONS)
 Ap     |I32    |unlnk          |NN const char* f
 #endif
-Abpd   |SSize_t|unpack_str     |NN const char *pat|NN const char *patend|NN const char *s \
+AbpdD  |SSize_t|unpack_str     |NN const char *pat|NN const char *patend|NN const char *s \
                                |NULLOK const char *strbeg|NN const char *strend|NULLOK char **new_s \
                                |I32 ocnt|U32 flags
 Apd    |SSize_t|unpackstring   |NN const char *pat|NN const char *patend|NN const char *s \
@@ -2081,7 +2081,7 @@ Afpd      |void   |sv_setpvf_mg   |NN SV *const sv|NN const char *const pat|...
 Apd    |void   |sv_vsetpvf_mg  |NN SV *const sv|NN const char *const pat \
                                |NULLOK va_list *const args
 Apd    |void   |sv_setiv_mg    |NN SV *const sv|const IV i
-Apdb   |void   |sv_setpviv_mg  |NN SV *const sv|const IV iv
+ApdbD  |void   |sv_setpviv_mg  |NN SV *const sv|const IV iv
 Apd    |void   |sv_setuv_mg    |NN SV *const sv|const UV u
 Apd    |void   |sv_setnv_mg    |NN SV *const sv|const NV num
 Apd    |void   |sv_setpv_mg    |NN SV *const sv|NULLOK const char *const ptr
@@ -2189,16 +2189,16 @@ Ap      |void   |sys_intern_dup |NN struct interp_intern* src|NN struct interp_intern*
 #endif
 
 Admop  |const XOP *    |custom_op_xop  |NN const OP *o
-AbpRd  |const char *   |custom_op_name |NN const OP *o
-AbpRd  |const char *   |custom_op_desc |NN const OP *o
+AbpRdD |const char *   |custom_op_name |NN const OP *o
+AbpRdD |const char *   |custom_op_desc |NN const OP *o
 pRX    |XOPRETANY      |custom_op_get_field    |NN const OP *o|const xop_flags_enum field
 Adop   |void   |custom_op_register     |NN Perl_ppaddr_t ppaddr \
                        |NN const XOP *xop
 
-Adp    |void   |sv_nosharing   |NULLOK SV *sv
-Adpb   |void   |sv_nolocking   |NULLOK SV *sv
+AdpD   |void   |sv_nosharing   |NULLOK SV *sv
+AdpbD  |void   |sv_nolocking   |NULLOK SV *sv
 Adp    |bool   |sv_destroyable |NULLOK SV *sv
-Adpb   |void   |sv_nounlocking |NULLOK SV *sv
+AdpbD  |void   |sv_nounlocking |NULLOK SV *sv
 Adp    |int    |nothreadhook
 p      |void   |init_constants
 
diff --git a/proto.h b/proto.h
index 63814ff..fffad8f 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -649,6 +649,7 @@ PERL_CALLCONV_NO_RET void   Perl_croak_xs_usage(const CV *const cv, const char *co
 PERL_CALLCONV regexp_engine const *    Perl_current_re_engine(pTHX);
 #ifndef NO_MATHOMS
 PERL_CALLCONV const char *     Perl_custom_op_desc(pTHX_ const OP *o)
+                       __attribute__deprecated__
                        __attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_CUSTOM_OP_DESC        \
        assert(o)
@@ -661,6 +662,7 @@ PERL_CALLCONV XOPRETANY     Perl_custom_op_get_field(pTHX_ const OP *o, const xop_fl
 
 #ifndef NO_MATHOMS
 PERL_CALLCONV const char *     Perl_custom_op_name(pTHX_ const OP *o)
+                       __attribute__deprecated__
                        __attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_CUSTOM_OP_NAME        \
        assert(o)
@@ -770,10 +772,12 @@ PERL_CALLCONV bool        Perl_do_aexec5(pTHX_ SV* really, SV** mark, SV** sp, int fd,
 #define PERL_ARGS_ASSERT_DO_AEXEC5     \
        assert(mark); assert(sp)
 #ifndef NO_MATHOMS
-PERL_CALLCONV int      Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode);
+PERL_CALLCONV int      Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_DO_BINMODE    \
        assert(fp)
 #endif
+
 PERL_CALLCONV bool     Perl_do_close(pTHX_ GV* gv, bool not_implicit);
 PERL_CALLCONV void     Perl_do_dump_pad(pTHX_ I32 level, PerlIO *file, PADLIST *padlist, int full);
 #define PERL_ARGS_ASSERT_DO_DUMP_PAD   \
@@ -813,10 +817,12 @@ PERL_CALLCONV bool        Perl_do_open6(pTHX_ GV *gv, const char *oname, STRLEN len, Pe
 #define PERL_ARGS_ASSERT_DO_OPEN6      \
        assert(gv); assert(oname)
 #ifndef NO_MATHOMS
-PERL_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);
+PERL_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)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_DO_OPEN9      \
        assert(gv); assert(name); assert(svs)
 #endif
+
 PERL_CALLCONV bool     Perl_do_open_raw(pTHX_ GV *gv, const char *oname, STRLEN len, int rawmode, int rawperm, Stat_t *statbufp);
 #define PERL_ARGS_ASSERT_DO_OPEN_RAW   \
        assert(gv); assert(oname)
@@ -1099,10 +1105,12 @@ PERL_CALLCONV SV*       Perl_gv_const_sv(pTHX_ GV* gv)
 
 PERL_CALLCONV void     Perl_gv_dump(pTHX_ GV* gv);
 #ifndef NO_MATHOMS
-PERL_CALLCONV void     Perl_gv_efullname(pTHX_ SV* sv, const GV* gv);
+PERL_CALLCONV void     Perl_gv_efullname(pTHX_ SV* sv, const GV* gv)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_GV_EFULLNAME  \
        assert(sv); assert(gv)
 #endif
+
 #ifndef NO_MATHOMS
 PERL_CALLCONV void     Perl_gv_efullname3(pTHX_ SV* sv, const GV* gv, const char* prefix);
 #define PERL_ARGS_ASSERT_GV_EFULLNAME3 \
@@ -1164,10 +1172,12 @@ PERL_CALLCONV GV*       Perl_gv_fetchsv(pTHX_ SV *name, I32 flags, const svtype sv_typ
 #define PERL_ARGS_ASSERT_GV_FETCHSV    \
        assert(name)
 #ifndef NO_MATHOMS
-PERL_CALLCONV void     Perl_gv_fullname(pTHX_ SV* sv, const GV* gv);
+PERL_CALLCONV void     Perl_gv_fullname(pTHX_ SV* sv, const GV* gv)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_GV_FULLNAME   \
        assert(sv); assert(gv)
 #endif
+
 #ifndef NO_MATHOMS
 PERL_CALLCONV void     Perl_gv_fullname3(pTHX_ SV* sv, const GV* gv, const char* prefix);
 #define PERL_ARGS_ASSERT_GV_FULLNAME3  \
@@ -1392,8 +1402,10 @@ PERL_CALLCONV void       Perl_init_dbargs(pTHX);
 PERL_CALLCONV void     Perl_init_debugger(pTHX);
 PERL_CALLCONV int      Perl_init_i18nl10n(pTHX_ int printwarn);
 #ifndef NO_MATHOMS
-PERL_CALLCONV int      Perl_init_i18nl14n(pTHX_ int printwarn);
+PERL_CALLCONV int      Perl_init_i18nl14n(pTHX_ int printwarn)
+                       __attribute__deprecated__;
 #endif
+
 PERL_CALLCONV void     Perl_init_named_cv(pTHX_ CV *cv, OP *nameop);
 #define PERL_ARGS_ASSERT_INIT_NAMED_CV \
        assert(cv); assert(nameop)
@@ -3031,25 +3043,31 @@ PERL_CALLCONV void      Perl_save_iv(pTHX_ IV *ivp);
 #define PERL_ARGS_ASSERT_SAVE_IV       \
        assert(ivp)
 #ifndef NO_MATHOMS
-PERL_CALLCONV void     Perl_save_list(pTHX_ SV** sarg, I32 maxsarg);
+PERL_CALLCONV void     Perl_save_list(pTHX_ SV** sarg, I32 maxsarg)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_SAVE_LIST     \
        assert(sarg)
 #endif
+
 #ifndef NO_MATHOMS
-PERL_CALLCONV void     Perl_save_long(pTHX_ long* longp);
+PERL_CALLCONV void     Perl_save_long(pTHX_ long* longp)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_SAVE_LONG     \
        assert(longp)
 #endif
+
 #ifndef NO_MATHOMS
 PERL_CALLCONV void     Perl_save_mortalizesv(pTHX_ SV* sv);
 #define PERL_ARGS_ASSERT_SAVE_MORTALIZESV      \
        assert(sv)
 #endif
 #ifndef NO_MATHOMS
-PERL_CALLCONV void     Perl_save_nogv(pTHX_ GV* gv);
+PERL_CALLCONV void     Perl_save_nogv(pTHX_ GV* gv)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_SAVE_NOGV     \
        assert(gv)
 #endif
+
 #ifndef NO_MATHOMS
 PERL_CALLCONV void     Perl_save_op(pTHX);
 #endif
@@ -3433,10 +3451,12 @@ PERL_CALLCONV int       Perl_sv_isa(pTHX_ SV* sv, const char *const name);
        assert(name)
 PERL_CALLCONV int      Perl_sv_isobject(pTHX_ SV* sv);
 #ifndef NO_MATHOMS
-PERL_CALLCONV IV       Perl_sv_iv(pTHX_ SV* sv);
+PERL_CALLCONV IV       Perl_sv_iv(pTHX_ SV* sv)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_SV_IV \
        assert(sv)
 #endif
+
 PERL_CALLCONV STRLEN   Perl_sv_len(pTHX_ SV *const sv);
 PERL_CALLCONV STRLEN   Perl_sv_len_utf8(pTHX_ SV *const sv);
 PERL_CALLCONV STRLEN   Perl_sv_len_utf8_nomg(pTHX_ SV *const sv);
@@ -3464,17 +3484,25 @@ PERL_CALLCONV SV*       Perl_sv_newmortal(pTHX)
 
 PERL_CALLCONV SV*      Perl_sv_newref(pTHX_ SV *const sv);
 #ifndef NO_MATHOMS
-PERL_CALLCONV void     Perl_sv_nolocking(pTHX_ SV *sv);
+PERL_CALLCONV void     Perl_sv_nolocking(pTHX_ SV *sv)
+                       __attribute__deprecated__;
 #endif
-PERL_CALLCONV void     Perl_sv_nosharing(pTHX_ SV *sv);
+
+PERL_CALLCONV void     Perl_sv_nosharing(pTHX_ SV *sv)
+                       __attribute__deprecated__;
+
 #ifndef NO_MATHOMS
-PERL_CALLCONV void     Perl_sv_nounlocking(pTHX_ SV *sv);
+PERL_CALLCONV void     Perl_sv_nounlocking(pTHX_ SV *sv)
+                       __attribute__deprecated__;
 #endif
+
 #ifndef NO_MATHOMS
-PERL_CALLCONV NV       Perl_sv_nv(pTHX_ SV* sv);
+PERL_CALLCONV NV       Perl_sv_nv(pTHX_ SV* sv)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_SV_NV \
        assert(sv)
 #endif
+
 #ifndef PERL_NO_INLINE_FUNCTIONS
 PERL_STATIC_INLINE bool        S_sv_only_taint_gmagic(SV *sv);
 #define PERL_ARGS_ASSERT_SV_ONLY_TAINT_GMAGIC  \
@@ -3508,18 +3536,22 @@ PERL_CALLCONV char*     Perl_sv_pvbyte(pTHX_ SV *sv)
 #endif
 
 #ifndef NO_MATHOMS
-PERL_CALLCONV char*    Perl_sv_pvbyten(pTHX_ SV *sv, STRLEN *lp);
+PERL_CALLCONV char*    Perl_sv_pvbyten(pTHX_ SV *sv, STRLEN *lp)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_SV_PVBYTEN    \
        assert(sv); assert(lp)
 #endif
+
 PERL_CALLCONV char*    Perl_sv_pvbyten_force(pTHX_ SV *const sv, STRLEN *const lp);
 #define PERL_ARGS_ASSERT_SV_PVBYTEN_FORCE      \
        assert(sv)
 #ifndef NO_MATHOMS
-PERL_CALLCONV char*    Perl_sv_pvn(pTHX_ SV *sv, STRLEN *lp);
+PERL_CALLCONV char*    Perl_sv_pvn(pTHX_ SV *sv, STRLEN *lp)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_SV_PVN        \
        assert(sv); assert(lp)
 #endif
+
 #ifndef NO_MATHOMS
 PERL_CALLCONV char*    Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp);
 #define PERL_ARGS_ASSERT_SV_PVN_FORCE  \
@@ -3529,10 +3561,12 @@ PERL_CALLCONV char*     Perl_sv_pvn_force_flags(pTHX_ SV *const sv, STRLEN *const lp
 #define PERL_ARGS_ASSERT_SV_PVN_FORCE_FLAGS    \
        assert(sv)
 #ifndef NO_MATHOMS
-PERL_CALLCONV char*    Perl_sv_pvn_nomg(pTHX_ SV* sv, STRLEN* lp);
+PERL_CALLCONV char*    Perl_sv_pvn_nomg(pTHX_ SV* sv, STRLEN* lp)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_SV_PVN_NOMG   \
        assert(sv)
 #endif
+
 #ifndef NO_MATHOMS
 PERL_CALLCONV char*    Perl_sv_pvutf8(pTHX_ SV *sv)
                        __attribute__warn_unused_result__;
@@ -3541,10 +3575,12 @@ PERL_CALLCONV char*     Perl_sv_pvutf8(pTHX_ SV *sv)
 #endif
 
 #ifndef NO_MATHOMS
-PERL_CALLCONV char*    Perl_sv_pvutf8n(pTHX_ SV *sv, STRLEN *lp);
+PERL_CALLCONV char*    Perl_sv_pvutf8n(pTHX_ SV *sv, STRLEN *lp)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_SV_PVUTF8N    \
        assert(sv); assert(lp)
 #endif
+
 PERL_CALLCONV char*    Perl_sv_pvutf8n_force(pTHX_ SV *const sv, STRLEN *const lp);
 #define PERL_ARGS_ASSERT_SV_PVUTF8N_FORCE      \
        assert(sv)
@@ -3611,15 +3647,19 @@ PERL_CALLCONV void      Perl_sv_setpvf_mg(pTHX_ SV *const sv, const char *const pat,
        assert(sv); assert(pat)
 
 #ifndef NO_MATHOMS
-PERL_CALLCONV void     Perl_sv_setpviv(pTHX_ SV *const sv, const IV num);
+PERL_CALLCONV void     Perl_sv_setpviv(pTHX_ SV *const sv, const IV num)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_SV_SETPVIV    \
        assert(sv)
 #endif
+
 #ifndef NO_MATHOMS
-PERL_CALLCONV void     Perl_sv_setpviv_mg(pTHX_ SV *const sv, const IV iv);
+PERL_CALLCONV void     Perl_sv_setpviv_mg(pTHX_ SV *const sv, const IV iv)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_SV_SETPVIV_MG \
        assert(sv)
 #endif
+
 PERL_CALLCONV void     Perl_sv_setpvn(pTHX_ SV *const sv, const char *const ptr, const STRLEN len);
 #define PERL_ARGS_ASSERT_SV_SETPVN     \
        assert(sv)
@@ -3734,10 +3774,12 @@ PERL_CALLCONV STRLEN    Perl_sv_utf8_upgrade_flags_grow(pTHX_ SV *const sv, const I
        assert(sv)
 /* PERL_CALLCONV STRLEN        sv_utf8_upgrade_nomg(pTHX_ SV *sv); */
 #ifndef NO_MATHOMS
-PERL_CALLCONV UV       Perl_sv_uv(pTHX_ SV* sv);
+PERL_CALLCONV UV       Perl_sv_uv(pTHX_ SV* sv)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_SV_UV \
        assert(sv)
 #endif
+
 PERL_CALLCONV void     Perl_sv_vcatpvf(pTHX_ SV *const sv, const char *const pat, va_list *const args);
 #define PERL_ARGS_ASSERT_SV_VCATPVF    \
        assert(sv); assert(pat)
@@ -3845,10 +3887,12 @@ PERL_CALLCONV UV        Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
 PERL_CALLCONV bool     Perl_try_amagic_bin(pTHX_ int method, int flags);
 PERL_CALLCONV bool     Perl_try_amagic_un(pTHX_ int method, int flags);
 #ifndef NO_MATHOMS
-PERL_CALLCONV SSize_t  Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s, const char *strbeg, const char *strend, char **new_s, I32 ocnt, U32 flags);
+PERL_CALLCONV SSize_t  Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s, const char *strbeg, const char *strend, char **new_s, I32 ocnt, U32 flags)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_UNPACK_STR    \
        assert(pat); assert(patend); assert(s); assert(strend)
 #endif
+
 PERL_CALLCONV SSize_t  Perl_unpackstring(pTHX_ const char *pat, const char *patend, const char *s, const char *strend, U32 flags);
 #define PERL_ARGS_ASSERT_UNPACKSTRING  \
        assert(pat); assert(patend); assert(s); assert(strend)
@@ -4726,6 +4770,7 @@ PERL_CALLCONV char*       Perl_form_nocontext(const char* pat, ...)
 
 #ifndef NO_MATHOMS
 PERL_CALLCONV int      Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...)
+                       __attribute__deprecated__
                        __attribute__format__(__printf__,2,3);
 #define PERL_ARGS_ASSERT_FPRINTF_NOCONTEXT     \
        assert(stream); assert(format)
@@ -4746,6 +4791,7 @@ PERL_CALLCONV SV* Perl_newSVpvf_nocontext(const char *const pat, ...)
 
 #ifndef NO_MATHOMS
 PERL_CALLCONV int      Perl_printf_nocontext(const char *format, ...)
+                       __attribute__deprecated__
                        __attribute__format__(__printf__,1,2);
 #define PERL_ARGS_ASSERT_PRINTF_NOCONTEXT      \
        assert(format)
@@ -6470,10 +6516,12 @@ PERL_CALLCONV int       Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg);
 #define PERL_ARGS_ASSERT_MAGIC_SETCOLLXFRM     \
        assert(sv); assert(mg)
 #ifndef NO_MATHOMS
-PERL_CALLCONV char*    Perl_mem_collxfrm(pTHX_ const char* input_string, STRLEN len, STRLEN* xlen);
+PERL_CALLCONV char*    Perl_mem_collxfrm(pTHX_ const char* input_string, STRLEN len, STRLEN* xlen)
+                       __attribute__deprecated__;
 #define PERL_ARGS_ASSERT_MEM_COLLXFRM  \
        assert(input_string); assert(xlen)
 #endif
+
 #ifndef NO_MATHOMS
 PERL_CALLCONV char*    Perl_sv_collxfrm(pTHX_ SV *const sv, STRLEN *const nxp);
 #define PERL_ARGS_ASSERT_SV_COLLXFRM   \