{OPpOPEN_OUT_CRLF, ",OUT_CRLF"}
};
-const struct flag_to_name op_exit_names[] = {
- {OPpEXIT_VMSISH, ",EXIT_VMSISH"}
-};
-
const struct flag_to_name op_sassign_names[] = {
{OPpASSIGN_BACKWARDS, ",BACKWARDS"},
{OPpASSIGN_CV_TO_GV, ",CV2GV"}
{OP_DIE, C_ARRAY_LENGTH(op_die_names), op_die_names },
{OP_DELETE, C_ARRAY_LENGTH(op_delete_names), op_delete_names },
{OP_EXISTS, C_ARRAY_LENGTH(op_exists_names), op_exists_names },
- {OP_EXIT, C_ARRAY_LENGTH(op_exit_names), op_exit_names },
{OP_FLIP, C_ARRAY_LENGTH(op_flip_names), op_flip_names },
{OP_FLOP, C_ARRAY_LENGTH(op_flip_names), op_flip_names },
{OP_GV, C_ARRAY_LENGTH(op_gv_names), op_gv_names },
#define ck_eval(a) Perl_ck_eval(aTHX_ a)
#define ck_exec(a) Perl_ck_exec(aTHX_ a)
#define ck_exists(a) Perl_ck_exists(aTHX_ a)
-#define ck_exit(a) Perl_ck_exit(aTHX_ a)
#define ck_ftst(a) Perl_ck_ftst(aTHX_ a)
#define ck_fun(a) Perl_ck_fun(aTHX_ a)
#define ck_glob(a) Perl_ck_glob(aTHX_ a)
@{$priv{$_}}{16,32,64,128} = qw(INBIN INCR OUTBIN OUTCR)
for qw(open backtick);
$priv{$_}{32} = "HUSH" for qw(nextstate dbstate);
-$priv{exit}{128} = "VMS";
$priv{$_}{2} = "FTACCESS"
for qw(ftrread ftrwrite ftrexec fteread ftewrite fteexec);
@{$priv{entereval}}{2,4,8,16} = qw(HAS_HH UNI BYTES COPHH);
}
OP *
-Perl_ck_exit(pTHX_ OP *o)
-{
- PERL_ARGS_ASSERT_CK_EXIT;
-
-#ifdef VMS
- HV * const table = GvHV(PL_hintgv);
- if (table) {
- SV * const * const svp = hv_fetchs(table, "vmsish_exit", FALSE);
- if (svp && *svp && SvTRUE(*svp))
- o->op_private |= OPpEXIT_VMSISH;
- }
-#endif
- return ck_fun(o);
-}
-
-OP *
Perl_ck_exec(pTHX_ OP *o)
{
PERL_ARGS_ASSERT_CK_EXEC;
128
*/
-/* Private for OP_EXIT */
-#define OPpEXIT_VMSISH 128 /* exit(0) vs. exit(1) vmsish mode*/
-
/* Private for OP_FTXXX */
#define OPpFT_ACCESS 2 /* use filetest 'access' */
#define OPpFT_STACKED 4 /* stacked filetest, as "-f" in "-f -x $f" */
Perl_ck_null, /* redo */
Perl_ck_null, /* dump */
Perl_ck_null, /* goto */
- Perl_ck_exit, /* exit */
+ Perl_ck_fun, /* exit */
Perl_ck_null, /* method_named */
Perl_ck_null, /* entergiven */
Perl_ck_null, /* leavegiven */
else {
anum = SvIVx(POPs);
#ifdef VMS
- if (anum == 1 && (PL_op->op_private & OPpEXIT_VMSISH))
+ if (anum == 1
+ && SvTRUE(cop_hints_fetch_pvs(PL_curcop, "vmsish_exit", 0)))
anum = 0;
VMSISH_HUSHED =
VMSISH_HUSHED || (PL_curcop->op_private & OPpHUSH_VMSISH);
#define PERL_ARGS_ASSERT_CK_EXISTS \
assert(o)
-PERL_CALLCONV OP * Perl_ck_exit(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_EXIT \
- assert(o)
-
PERL_CALLCONV OP * Perl_ck_ftst(pTHX_ OP *o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
redo redo ck_null ds}
dump dump ck_null ds}
goto goto ck_null ds}
-exit exit ck_exit ds% S?
+exit exit ck_fun ds% S?
method_named method with known name ck_null d$
entergiven given() ck_null d|