Change 31205 by [EMAIL PROTECTED] on 2007/05/12 22:41:17 Subject: [PATCH] Disable !a&&b, !b||a optimalization when PL_madskills From: Gerard Goossen <[EMAIL PROTECTED]> Date: Tue May 8 16:09:17 2007 +0200 Message-Id: <[EMAIL PROTECTED]>
Affected files ... ... //depot/perl/op.c#939 edit Differences ... ==== //depot/perl/op.c#939 (text) ==== Index: perl/op.c --- perl/op.c#938~31204~ 2007-05-12 15:40:05.000000000 -0700 +++ perl/op.c 2007-05-12 15:41:17.000000000 -0700 @@ -4240,7 +4240,8 @@ /* optimize "!a && b" to "a || b", and "!a || b" to "a && b" */ if (first->op_type == OP_NOT && (first->op_flags & OPf_SPECIAL) - && (first->op_flags & OPf_KIDS)) { + && (first->op_flags & OPf_KIDS) + && !PL_madskills) { if (type == OP_AND || type == OP_OR) { if (type == OP_AND) type = OP_OR; @@ -4251,11 +4252,7 @@ if (o->op_next) first->op_next = o->op_next; cUNOPo->op_first = NULL; -#ifdef PERL_MAD - op_getmad(o,first,'O'); -#else op_free(o); -#endif } } if (first->op_type == OP_CONST) { End of Patch.