This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
make Configure abort if both -Duselongdouble and -Dusequadmath are requested
[perl5.git] / pp_sort.c
index e910662..c91aab0 100644 (file)
--- a/pp_sort.c
+++ b/pp_sort.c
@@ -1476,7 +1476,7 @@ PP(pp_sort)
     AV* av = NULL;
     GV *gv;
     CV *cv = NULL;
-    I32 gimme = GIMME_V;
+    U8 gimme = GIMME_V;
     OP* const nextop = PL_op->op_next;
     I32 overloading = 0;
     bool hasargs = FALSE;
@@ -1668,10 +1668,10 @@ PP(pp_sort)
            }
 
             gimme = G_SCALAR;
-           PUSHBLOCK(cx, CXt_NULL, gimme, PL_stack_base, old_savestack_ix);
+           cx = cx_pushblock(CXt_NULL, gimme, PL_stack_base, old_savestack_ix);
            if (!(flags & OPf_SPECIAL)) {
                cx->cx_type = CXt_SUB|CXp_MULTICALL;
-               PUSHSUB(cx);
+               cx_pushsub(cx, cv, NULL, hasargs);
                if (!is_xsub) {
                    PADLIST * const padlist = CvPADLIST(cv);
 
@@ -1703,13 +1703,13 @@ PP(pp_sort)
             CX_LEAVE_SCOPE(cx);
            if (!(flags & OPf_SPECIAL)) {
                 assert(CxTYPE(cx) == CXt_SUB);
-                CX_POPSUB(cx);
+                cx_popsub(cx);
            }
             else
                 assert(CxTYPE(cx) == CXt_NULL);
                 /* there isn't a POPNULL ! */
 
-           CX_POPBLOCK(cx);
+           cx_popblock(cx);
             CX_POP(cx);
            POPSTACK;
            CATCH_SET(oldcatch);