With the demise of PERL_FLEXIBLE_EXCEPTIONS, S_docatch_body() can be
Nicholas Clark [Fri, 5 Oct 2007 18:15:06 +0000 (18:15 +0000)]
inlined and eliminated.

p4raw-id: //depot/perl@32033

embed.fnc
embed.h
pp_ctl.c
proto.h

index 02dc1ab..fef33db 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -1311,7 +1311,6 @@ snR       |char * |bytes_to_uni   |NN const U8 *start|STRLEN len|NN char *dest
 
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 sR     |OP*    |docatch        |NULLOK OP *o
-s      |void   |docatch_body
 sR     |OP*    |dofindlabel    |NN OP *o|NN const char *label|NN OP **opstack|NN OP **oplimit
 sR     |OP*    |doparseform    |NN SV *sv
 snR    |bool   |num_overflow   |NV value|I32 fldsize|I32 frcsize
diff --git a/embed.h b/embed.h
index bdcc615..9d41f69 100644 (file)
--- a/embed.h
+++ b/embed.h
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define docatch                        S_docatch
-#define docatch_body           S_docatch_body
 #define dofindlabel            S_dofindlabel
 #define doparseform            S_doparseform
 #define num_overflow           S_num_overflow
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define docatch(a)             S_docatch(aTHX_ a)
-#define docatch_body()         S_docatch_body(aTHX)
 #define dofindlabel(a,b,c,d)   S_dofindlabel(aTHX_ a,b,c,d)
 #define doparseform(a)         S_doparseform(aTHX_ a)
 #define num_overflow           S_num_overflow
index f29c313..774bcb5 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -2660,14 +2660,6 @@ S_save_lines(pTHX_ AV *array, SV *sv)
     }
 }
 
-STATIC void
-S_docatch_body(pTHX)
-{
-    dVAR;
-    CALLRUNOPS(aTHX);
-    return;
-}
-
 STATIC OP *
 S_docatch(pTHX_ OP *o)
 {
@@ -2688,7 +2680,7 @@ S_docatch(pTHX_ OP *o)
        assert(CxTYPE(&cxstack[cxstack_ix]) == CXt_EVAL);
        cxstack[cxstack_ix].blk_eval.cur_top_env = PL_top_env;
  redo_body:
-       docatch_body();
+       CALLRUNOPS(aTHX);
        break;
     case 3:
        /* die caught by an inner eval - continue inner loop */
diff --git a/proto.h b/proto.h
index 69bf681..a69969d 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -3497,7 +3497,6 @@ STATIC char *     S_bytes_to_uni(const U8 *start, STRLEN len, char *dest)
 STATIC OP*     S_docatch(pTHX_ OP *o)
                        __attribute__warn_unused_result__;
 
-STATIC void    S_docatch_body(pTHX);
 STATIC OP*     S_dofindlabel(pTHX_ OP *o, const char *label, OP **opstack, OP **oplimit)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1)