return first;
}
}
- else if (ckWARN(WARN_MISC) && (first->op_flags & OPf_KIDS)) {
+ else if (ckWARN(WARN_MISC) && (first->op_flags & OPf_KIDS) &&
+ type != OP_DOR) /* [#24076] Don't warn for <FH> err FOO. */
+ {
OP *k1 = ((UNOP*)first)->op_first;
OP *k2 = k1->op_sibling;
OPCODE warnop = 0;
return o;
}
-static void const_sv_xsub(pTHX_ CV* cv);
-
/*
=for apidoc cv_undef
Perl_cv_undef(pTHX_ CV *cv)
{
#ifdef USE_ITHREADS
- if (CvFILE(cv) && (!CvXSUB(cv) || CvXSUB(cv) == const_sv_xsub)) {
- /* for XSUBs CvFILE point directly to static memory; __FILE__
- * except when XSUB was constructed via newCONSTSUB() */
+ if (CvFILE(cv) && !CvXSUB(cv)) {
+ /* for XSUBs CvFILE point directly to static memory; __FILE__ */
Safefree(CvFILE(cv));
}
CvFILE(cv) = 0;
}
}
+static void const_sv_xsub(pTHX_ CV* cv);
+
/*
=head1 Optree Manipulation Functions