summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/CORE/op.h
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/CORE/op.h')
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/op.h28
1 files changed, 7 insertions, 21 deletions
diff --git a/Master/tlpkg/tlperl/lib/CORE/op.h b/Master/tlpkg/tlperl/lib/CORE/op.h
index bfdebaa961b..c9f05b22712 100644
--- a/Master/tlpkg/tlperl/lib/CORE/op.h
+++ b/Master/tlpkg/tlperl/lib/CORE/op.h
@@ -38,21 +38,12 @@
typedef PERL_BITFIELD16 Optype;
-/* this field now either points to the next sibling or to the parent,
- * depending on op_moresib. So rename it from op_sibling to op_sibparent.
- */
-#ifdef PERL_OP_PARENT
-# define _OP_SIBPARENT_FIELDNAME op_sibparent
-#else
-# define _OP_SIBPARENT_FIELDNAME op_sibling
-#endif
-
#ifdef BASEOP_DEFINITION
#define BASEOP BASEOP_DEFINITION
#else
#define BASEOP \
OP* op_next; \
- OP* _OP_SIBPARENT_FIELDNAME;\
+ OP* op_sibparent; \
OP* (*op_ppaddr)(pTHX); \
PADOFFSET op_targ; \
PERL_BITFIELD16 op_type:9; \
@@ -108,7 +99,12 @@ Deprecated. Use C<GIMME_V> instead.
#define OPf_REF 16 /* Certified reference. */
/* (Return container, not containee). */
#define OPf_MOD 32 /* Will modify (lvalue). */
+
#define OPf_STACKED 64 /* Some arg is arriving on the stack. */
+ /* Indicates mutator-variant of op for those
+ * ops which support them, e.g. $x += 1
+ */
+
#define OPf_SPECIAL 128 /* Do something weird for this op: */
/* On local LVAL, don't init local value. */
/* On OP_SORT, subroutine is inlined. */
@@ -980,7 +976,7 @@ and C<L</OpMAYBESIB_set>>. For a higher-level interface, see
C<L</op_sibling_splice>>.
=for apidoc Am|void|OpLASTSIB_set|OP *o|OP *parent
-Marks C<o> as having no further siblings. On C<PERL_OP_PARENT> builds, marks
+Marks C<o> as having no further siblings and marks
o as having the specified parent. See also C<L</OpMORESIB_set>> and
C<OpMAYBESIB_set>. For a higher-level interface, see
C<L</op_sibling_splice>>.
@@ -1026,7 +1022,6 @@ C<sib> is non-null. For a higher-level interface, see C<L</op_sibling_splice>>.
( (o) && OP_TYPE_ISNT_AND_WASNT_NN(o, type) )
-#ifdef PERL_OP_PARENT
# define OpHAS_SIBLING(o) (cBOOL((o)->op_moresib))
# define OpSIBLING(o) (0 + (o)->op_moresib ? (o)->op_sibparent : NULL)
# define OpMORESIB_set(o, sib) ((o)->op_moresib = 1, (o)->op_sibparent = (sib))
@@ -1034,15 +1029,6 @@ C<sib> is non-null. For a higher-level interface, see C<L</op_sibling_splice>>.
((o)->op_moresib = 0, (o)->op_sibparent = (parent))
# define OpMAYBESIB_set(o, sib, parent) \
((o)->op_sibparent = ((o)->op_moresib = cBOOL(sib)) ? (sib) : (parent))
-#else
-# define OpHAS_SIBLING(o) (cBOOL((o)->op_sibling))
-# define OpSIBLING(o) (0 + (o)->op_sibling)
-# define OpMORESIB_set(o, sib) ((o)->op_moresib = 1, (o)->op_sibling = (sib))
-# define OpLASTSIB_set(o, parent) \
- ((o)->op_moresib = 0, (o)->op_sibling = NULL)
-# define OpMAYBESIB_set(o, sib, parent) \
- ((o)->op_moresib = cBOOL(sib), (o)->op_sibling = (sib))
-#endif
#if !defined(PERL_CORE) && !defined(PERL_EXT)
/* for backwards compatibility only */