diff options
author | David Mitchell <davem@iabyn.com> | 2016-11-10 21:38:30 +0000 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2016-11-12 16:15:09 +0000 |
commit | 6432a58ad9a504c2dc834eb0d131a10b4b6c886b (patch) | |
tree | aacfe1256852ac05b4aefaa42dd9069685377cb8 /sv.h | |
parent | 9a70c74b0f460b0c96e443ecdfcb551157e02b51 (diff) | |
download | perl-6432a58ad9a504c2dc834eb0d131a10b4b6c886b.tar.gz |
Eliminate SVrepl_EVAL and SvEVALED()
This flag is only used to indicate that the SV holding the text of the
replacement part of a s/// has seen at least one /e.
Instead, set the IVX field in the SV to a true value.
(We already set the NVX field on that SV to indicate a multi-src-line
substitution).
This is to reduce the number of odd special cases for the SVpbm_VALID flag.
Diffstat (limited to 'sv.h')
-rw-r--r-- | sv.h | 7 |
1 files changed, 1 insertions, 6 deletions
@@ -456,8 +456,6 @@ perform the upgrade if necessary. See C<L</svtype>>. /* This is only set true on a PVGV when it's playing "PVBM", but is tested for on any regular scalar (anything <= PVLV) */ #define SVpbm_VALID 0x40000000 -/* Only used in toke.c on an SV stored in PL_lex_repl */ -#define SVrepl_EVAL 0x40000000 /* Replacement part of s///e */ /* IV, PVIV, PVNV, PVMG, PVGV and (I assume) PVLV */ #define SVf_IVisUV 0x80000000 /* use XPVUV instead of XPVIV */ @@ -492,6 +490,7 @@ union _xivu { IV xivu_iv; /* integer value */ UV xivu_uv; HEK * xivu_namehek; /* xpvlv, xpvgv: GvNAME */ + bool xivu_eval_seen; /* used internally by S_scan_subst() */ }; union _xmgu { @@ -1120,10 +1119,6 @@ object type. Exposed to perl code via Internals::SvREADONLY(). # define SvCOMPILED_off(sv) #endif -#define SvEVALED(sv) (SvFLAGS(sv) & SVrepl_EVAL) -#define SvEVALED_on(sv) (SvFLAGS(sv) |= SVrepl_EVAL) -#define SvEVALED_off(sv) (SvFLAGS(sv) &= ~SVrepl_EVAL) - #if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) # define SvVALID(sv) ({ const SV *const _svvalid = (const SV*)(sv); \ if (SvFLAGS(_svvalid) & SVpbm_VALID && !SvSCREAM(_svvalid)) \ |