X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/767eda446920b18c91ad2d91822428141c99301f..2fde50e118eac35eeed062c93ba08b1e5b2609a7:/op.h diff --git a/op.h b/op.h index 74030d9..d80eb38 100644 --- a/op.h +++ b/op.h @@ -130,14 +130,11 @@ Deprecated. Use C instead. defined()*/ /* On OP_DBSTATE, indicates breakpoint * (runtime property) */ - /* On OP_AELEMFAST, indicates pad var */ /* On OP_REQUIRE, was seen as CORE::require */ /* On OP_ENTERWHEN, there's no condition */ - /* On OP_BREAK, an implicit break */ /* On OP_SMARTMATCH, an implicit smartmatch */ /* On OP_ANONHASH and OP_ANONLIST, create a reference to the new anon hash or array */ - /* On OP_ENTER, store caller context */ /* On OP_HELEM and OP_HSLICE, localization will be followed by assignment, so do not wipe the target if it is special (e.g. a glob or a magic SV) */ @@ -216,7 +213,8 @@ Deprecated. Use C instead. #define OPpLVAL_DEFER 16 /* Defer creation of array/hash elem */ /* OP_RV2?V, OP_GVSV, OP_ENTERITER only */ #define OPpOUR_INTRO 16 /* Variable was in an our() */ - /* OP_RV2[AGH]V, OP_PAD[AH]V, OP_[AH]ELEM */ + /* OP_RV2[AGH]V, OP_PAD[AH]V, OP_[AH]ELEM, OP_[AH]SLICE OP_AV2ARYLEN, + OP_R?KEYS, OP_SUBSTR, OP_POS, OP_VEC */ #define OPpMAYBE_LVSUB 8 /* We might be an lvalue to return */ /* OP_PADSV only */ #define OPpPAD_STATE 16 /* is a "state" pad */ @@ -538,7 +536,7 @@ struct loop { # define Nullop ((OP*)NULL) #endif -/* Lowest byte-and-a-bit of PL_opargs */ +/* Lowest byte of PL_opargs */ #define OA_MARK 1 #define OA_FOLDCONST 2 #define OA_RETSCALAR 4 @@ -763,6 +761,12 @@ preprocessing token; the type of I depends on I. #define RV2CVOPCV_MARK_EARLY 0x00000001 #define RV2CVOPCV_RETURN_NAME_GV 0x00000002 +#define op_lvalue(op,t) Perl_op_lvalue_flags(aTHX_ op,t,0) + +/* flags for op_lvalue_flags */ + +#define OP_LVALUE_NO_CROAK 1 + /* =head1 Custom Operators