sR |SV* |method_common |NN SV* meth|NULLOK U32* hashp
#endif
+#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
+s |I32 |sv_ncmp |NN SV *a|NN SV *b
+s |I32 |sv_i_ncmp |NN SV *a|NN SV *b
+s |I32 |amagic_ncmp |NN SV *a|NN SV *b
+s |I32 |amagic_i_ncmp |NN SV *a|NN SV *b
+s |I32 |amagic_cmp |NN SV *a|NN SV *b
+s |I32 |amagic_cmp_locale|NN SV *a|NN SV *b
+s |I32 |sortcv |NN SV *a|NN SV *b
+s |I32 |sortcv_xsub |NN SV *a|NN SV *b
+s |I32 |sortcv_stacked |NN SV *a|NN SV *b
+#endif
+
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
s |OP* |doform |NN CV *cv|NN GV *gv|NN OP *retop
s |int |emulate_eaccess|NN const char* path|Mode_t mode
#define method_common S_method_common
#endif
#endif
+#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define sv_ncmp S_sv_ncmp
+#define sv_i_ncmp S_sv_i_ncmp
+#define amagic_ncmp S_amagic_ncmp
+#define amagic_i_ncmp S_amagic_i_ncmp
+#define amagic_cmp S_amagic_cmp
+#define amagic_cmp_locale S_amagic_cmp_locale
+#define sortcv S_sortcv
+#define sortcv_xsub S_sortcv_xsub
+#define sortcv_stacked S_sortcv_stacked
+#endif
+#endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define doform S_doform
#define method_common(a,b) S_method_common(aTHX_ a,b)
#endif
#endif
+#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define sv_ncmp(a,b) S_sv_ncmp(aTHX_ a,b)
+#define sv_i_ncmp(a,b) S_sv_i_ncmp(aTHX_ a,b)
+#define amagic_ncmp(a,b) S_amagic_ncmp(aTHX_ a,b)
+#define amagic_i_ncmp(a,b) S_amagic_i_ncmp(aTHX_ a,b)
+#define amagic_cmp(a,b) S_amagic_cmp(aTHX_ a,b)
+#define amagic_cmp_locale(a,b) S_amagic_cmp_locale(aTHX_ a,b)
+#define sortcv(a,b) S_sortcv(aTHX_ a,b)
+#define sortcv_xsub(a,b) S_sortcv_xsub(aTHX_ a,b)
+#define sortcv_stacked(a,b) S_sortcv_stacked(aTHX_ a,b)
+#endif
+#endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define doform(a,b,c) S_doform(aTHX_ a,b,c)
#define small xsmall
#endif
-static I32 sortcv(pTHX_ SV *a, SV *b);
-static I32 sortcv_stacked(pTHX_ SV *a, SV *b);
-static I32 sortcv_xsub(pTHX_ SV *a, SV *b);
-static I32 sv_ncmp(pTHX_ SV *a, SV *b);
-static I32 sv_i_ncmp(pTHX_ SV *a, SV *b);
-static I32 amagic_ncmp(pTHX_ SV *a, SV *b);
-static I32 amagic_i_ncmp(pTHX_ SV *a, SV *b);
-static I32 amagic_cmp(pTHX_ SV *a, SV *b);
-static I32 amagic_cmp_locale(pTHX_ SV *a, SV *b);
-
#define sv_cmp_static Perl_sv_cmp
#define sv_cmp_locale_static Perl_sv_cmp_locale
start = p1 - max;
sortsvp(aTHX_ start, max,
- is_xsub ? sortcv_xsub : hasargs ? sortcv_stacked : sortcv);
+ is_xsub ? S_sortcv_xsub : hasargs ? S_sortcv_stacked : S_sortcv);
if (!(flags & OPf_SPECIAL)) {
LEAVESUB(cv);
sortsvp(aTHX_ start, max,
(priv & OPpSORT_NUMERIC)
? ( ( ( priv & OPpSORT_INTEGER) || all_SIVs)
- ? ( overloading ? amagic_i_ncmp : sv_i_ncmp)
- : ( overloading ? amagic_ncmp : sv_ncmp ) )
+ ? ( overloading ? S_amagic_i_ncmp : S_sv_i_ncmp)
+ : ( overloading ? S_amagic_ncmp : S_sv_ncmp ) )
: ( IN_LOCALE_RUNTIME
? ( overloading
- ? amagic_cmp_locale
+ ? S_amagic_cmp_locale
: sv_cmp_locale_static)
- : ( overloading ? amagic_cmp : sv_cmp_static)));
+ : ( overloading ? S_amagic_cmp : sv_cmp_static)));
}
if (priv & OPpSORT_REVERSE) {
SV **q = start+max-1;
}
static I32
-sortcv(pTHX_ SV *a, SV *b)
+S_sortcv(pTHX_ SV *a, SV *b)
{
dVAR;
const I32 oldsaveix = PL_savestack_ix;
}
static I32
-sortcv_stacked(pTHX_ SV *a, SV *b)
+S_sortcv_stacked(pTHX_ SV *a, SV *b)
{
dVAR;
const I32 oldsaveix = PL_savestack_ix;
}
static I32
-sortcv_xsub(pTHX_ SV *a, SV *b)
+S_sortcv_xsub(pTHX_ SV *a, SV *b)
{
dVAR; dSP;
const I32 oldsaveix = PL_savestack_ix;
static I32
-sv_ncmp(pTHX_ SV *a, SV *b)
+S_sv_ncmp(pTHX_ SV *a, SV *b)
{
const NV nv1 = SvNSIV(a);
const NV nv2 = SvNSIV(b);
}
static I32
-sv_i_ncmp(pTHX_ SV *a, SV *b)
+S_sv_i_ncmp(pTHX_ SV *a, SV *b)
{
const IV iv1 = SvIV(a);
const IV iv2 = SvIV(b);
: Nullsv;
static I32
-amagic_ncmp(pTHX_ register SV *a, register SV *b)
+S_amagic_ncmp(pTHX_ register SV *a, register SV *b)
{
SV * const tmpsv = tryCALL_AMAGICbin(a,b,ncmp);
if (tmpsv) {
return d ? -1 : 0;
}
}
- return sv_ncmp(aTHX_ a, b);
+ return S_sv_ncmp(aTHX_ a, b);
}
static I32
-amagic_i_ncmp(pTHX_ register SV *a, register SV *b)
+S_amagic_i_ncmp(pTHX_ register SV *a, register SV *b)
{
SV * const tmpsv = tryCALL_AMAGICbin(a,b,ncmp);
if (tmpsv) {
return d ? -1 : 0;
}
}
- return sv_i_ncmp(aTHX_ a, b);
+ return S_sv_i_ncmp(aTHX_ a, b);
}
static I32
-amagic_cmp(pTHX_ register SV *str1, register SV *str2)
+S_amagic_cmp(pTHX_ register SV *str1, register SV *str2)
{
SV * const tmpsv = tryCALL_AMAGICbin(str1,str2,scmp);
if (tmpsv) {
}
static I32
-amagic_cmp_locale(pTHX_ register SV *str1, register SV *str2)
+S_amagic_cmp_locale(pTHX_ register SV *str1, register SV *str2)
{
SV * const tmpsv = tryCALL_AMAGICbin(str1,str2,scmp);
if (tmpsv) {
#endif
+#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
+STATIC I32 S_sv_ncmp(pTHX_ SV *a, SV *b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
+STATIC I32 S_sv_i_ncmp(pTHX_ SV *a, SV *b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
+STATIC I32 S_amagic_ncmp(pTHX_ SV *a, SV *b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
+STATIC I32 S_amagic_i_ncmp(pTHX_ SV *a, SV *b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
+STATIC I32 S_amagic_cmp(pTHX_ SV *a, SV *b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
+STATIC I32 S_amagic_cmp_locale(pTHX_ SV *a, SV *b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
+STATIC I32 S_sortcv(pTHX_ SV *a, SV *b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
+STATIC I32 S_sortcv_xsub(pTHX_ SV *a, SV *b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
+STATIC I32 S_sortcv_stacked(pTHX_ SV *a, SV *b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
+#endif
+
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
STATIC OP* S_doform(pTHX_ CV *cv, GV *gv, OP *retop)
__attribute__nonnull__(pTHX_1)