X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/39ff6c37b02dc106ce36a529c4fdd80ac93c7ada..800489668b1905bb642739f4e1c0ceefaa3299a0:/gv.h diff --git a/gv.h b/gv.h index cf096c3..e3357bc 100644 --- a/gv.h +++ b/gv.h @@ -18,8 +18,8 @@ struct gp { AV * gp_av; /* array value */ CV * gp_form; /* format value */ GV * gp_egv; /* effective gv, if *glob */ - U32 gp_line:31; /* line first declared at (for -w) */ - U32 gp_flags:1; + PERL_BITFIELD32 gp_line:31; /* line first declared at (for -w) */ + PERL_BITFIELD32 gp_flags:1; HEK * gp_file_hek; /* file first declared in (for -w) */ }; @@ -72,11 +72,6 @@ struct gp { #define GvNAME(gv) GvNAME_get(gv) #define GvNAMELEN(gv) GvNAMELEN_get(gv) -#define GvASSIGN_GENERATION(gv) (0 + ((XPV*) SvANY(gv))->xpv_len) -#define GvASSIGN_GENERATION_set(gv,val) \ - STMT_START { assert(SvTYPE(gv) == SVt_PVGV); \ - (((XPV*) SvANY(gv))->xpv_len = (val)); } STMT_END - /* =head1 GV Functions @@ -156,6 +151,10 @@ Return the CV from the GV. #define GvENAME_HEK(gv) GvNAME_HEK(GvEGV(gv) ? GvEGV(gv) : gv) #define GvESTASH(gv) GvSTASH(GvEGV(gv) ? GvEGV(gv) : gv) +/* GVf_INTRO is one-shot flag which indicates that the next assignment + of a reference to the glob is to be localised; it distinguishes + 'local *g = $ref' from '*g = $ref'. +*/ #define GVf_INTRO 0x01 #define GVf_MULTI 0x02 #define GVf_ASSUMECV 0x04 @@ -198,12 +197,6 @@ Return the CV from the GV. #define GvIMPORTED_CV_on(gv) (GvFLAGS(gv) |= GVf_IMPORTED_CV) #define GvIMPORTED_CV_off(gv) (GvFLAGS(gv) &= ~GVf_IMPORTED_CV) -#define GPf_ALIASED_SV 1 - -#define GvALIASED_SV(gv) (GvGPFLAGS(gv) & GPf_ALIASED_SV) -#define GvALIASED_SV_on(gv) (GvGPFLAGS(gv) |= GPf_ALIASED_SV) -#define GvALIASED_SV_off(gv) (GvGPFLAGS(gv) &= ~GPf_ALIASED_SV) - #ifndef PERL_CORE # define GvIN_PAD(gv) 0 # define GvIN_PAD_on(gv) NOOP @@ -289,11 +282,5 @@ Return the CV from the GV. #define gv_SVadd(gv) gv_add_by_type((gv), SVt_NULL) /* - * Local variables: - * c-indentation-style: bsd - * c-basic-offset: 4 - * indent-tabs-mode: nil - * End: - * * ex: set ts=8 sts=4 sw=4 et: */