X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=op.h;h=86f2a0b5058df893d5929e29d8f90f5b73c4f9da;hb=517e7c645afd88cb6b76e340708d0fff8202d858;hp=52b68cb4b87183978cd66bc13eca183508935272;hpb=1ba6ee2b6ffb90b7d229bcee46bded6dda6b3bcc;p=p5sagit%2Fp5-mst-13.2.git diff --git a/op.h b/op.h index 52b68cb..86f2a0b 100644 --- a/op.h +++ b/op.h @@ -94,7 +94,8 @@ Deprecated. Use C instead. /* On OP_EXISTS, treat av as av, not avhv. */ /* On OP_(ENTER|LEAVE)EVAL, don't clear $@ */ /* On OP_ENTERITER, loop var is per-thread */ - /* On pushre, re is /\s+/ imp. by split " " */ + /* On pushre, re is /\s+/ imp. by split " " */ + /* On regcomp, "use re 'eval'" was in scope */ /* old names; don't use in new code, but don't break them, either */ #define OPf_LIST OPf_WANT_LIST @@ -118,6 +119,7 @@ Deprecated. Use C instead. /* Private for OP_AASSIGN */ #define OPpASSIGN_COMMON 64 /* Left & right have syms in common. */ +#define OPpASSIGN_HASH 32 /* Assigning to possible pseudohash. */ /* Private for OP_SASSIGN */ #define OPpASSIGN_BACKWARDS 64 /* Left & right switched. */ @@ -196,6 +198,15 @@ Deprecated. Use C instead. /* Private for OP_THREADSV */ #define OPpDONE_SVREF 64 /* Been through newSVREF once */ +/* Private for OP_OPEN and OP_BACKTICK */ +#define OPpOPEN_IN_RAW 16 /* binmode(F,":raw") on input fh */ +#define OPpOPEN_IN_CRLF 32 /* binmode(F,":crlf") on input fh */ +#define OPpOPEN_OUT_RAW 64 /* binmode(F,":raw") on output fh */ +#define OPpOPEN_OUT_CRLF 128 /* binmode(F,":crlf") on output fh */ + +/* Private for OP_EXIT */ +#define OPpEXIT_VMSISH 128 /* exit(0) vs. exit(1) vmsish mode*/ + struct op { BASEOP }; @@ -400,3 +411,25 @@ struct loop { #define OA_SCALARREF 7 #define OA_OPTIONAL 8 +#ifdef USE_ITHREADS +# define OP_REFCNT_INIT MUTEX_INIT(&PL_op_mutex) +# define OP_REFCNT_LOCK MUTEX_LOCK(&PL_op_mutex) +# define OP_REFCNT_UNLOCK MUTEX_UNLOCK(&PL_op_mutex) +# define OP_REFCNT_TERM MUTEX_DESTROY(&PL_op_mutex) +# define OpREFCNT_set(o,n) ((o)->op_targ = (n)) +# define OpREFCNT_inc(o) ((o) ? (++(o)->op_targ, (o)) : Nullop) +# define OpREFCNT_dec(o) (--(o)->op_targ) +#else +# define OP_REFCNT_INIT NOOP +# define OP_REFCNT_LOCK NOOP +# define OP_REFCNT_UNLOCK NOOP +# define OP_REFCNT_TERM NOOP +# define OpREFCNT_set(o,n) NOOP +# define OpREFCNT_inc(o) (o) +# define OpREFCNT_dec(o) 0 +#endif + +/* flags used by Perl_load_module() */ +#define PERL_LOADMOD_DENY 0x1 +#define PERL_LOADMOD_NOIMPORT 0x2 +#define PERL_LOADMOD_IMPORT_OPS 0x4