diff options
-rw-r--r-- | mad/t/p55.t | 8 | ||||
-rw-r--r-- | op.c | 9 |
2 files changed, 7 insertions, 10 deletions
diff --git a/mad/t/p55.t b/mad/t/p55.t index 770f6c567c..e1f35236a8 100644 --- a/mad/t/p55.t +++ b/mad/t/p55.t @@ -64,10 +64,6 @@ use Test::Differences; our %failing = map { $_, 1 } qw| ../t/comp/require.t -../t/op/array.t -../t/op/local.t -../t/op/substr.t - ../t/comp/parser.t ../t/op/switch.t @@ -172,10 +168,10 @@ eval { require 5.005 } sub PerlIO::F_UTF8 () { 0x00008000 } # from perliol.h BEGIN { PerlIO::Layer->find("encoding",1);} ######## -# TODO from ../t/op/array.t +# from ../t/op/array.t $[ = 1 ######## -# TODO from t/comp/parser.t +# from t/comp/parser.t $x = 1 for ($[) = 0; ######## # from t/op/getppid.t @@ -4335,10 +4335,11 @@ Perl_newASSIGNOP(pTHX_ I32 flags, OP *left, I32 optype, OP *right) if (PL_eval_start) PL_eval_start = 0; else { - /* FIXME for MAD */ - op_free(o); - o = newSVOP(OP_CONST, 0, newSViv(CopARYBASE_get(&PL_compiling))); - o->op_private |= OPpCONST_ARYBASE; + if (!PL_madskills) { /* assignment to $[ is ignored when making a mad dump */ + op_free(o); + o = newSVOP(OP_CONST, 0, newSViv(CopARYBASE_get(&PL_compiling))); + o->op_private |= OPpCONST_ARYBASE; + } } } return o; |