This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
DEBUG_LEAKING_SCALARS could use the value of a freed PL_op
[perl5.git] / intrpvar.h
index f8b20a5..3159b28 100644 (file)
@@ -29,8 +29,8 @@ PERLVAR(Iwarnhook,    SV *)
 /* switches */
 PERLVAR(Iminus_c,      bool)
 PERLVAR(Ipatchlevel,   SV *)
-PERLVAR(Ilocalpatches, char **)
-PERLVARI(Isplitstr,    char *, " ")
+PERLVAR(Ilocalpatches, const char **)
+PERLVARI(Isplitstr,    const char *, " ")
 PERLVAR(Ipreprocess,   bool)
 PERLVAR(Iminus_n,      bool)
 PERLVAR(Iminus_p,      bool)
@@ -235,7 +235,6 @@ PERLVAR(Iegid,              Gid_t)          /* current effective group id */
 PERLVAR(Inomemok,      bool)           /* let malloc context handle nomem */
 PERLVARI(Ian,          U32,    0)      /* malloc sequence number */
 PERLVARI(Icop_seqmax,  U32,    0)      /* statement sequence number */
-PERLVARI(Iop_seqmax,   U16,    0)      /* op sequence number */
 PERLVARI(Ievalseq,     U32,    0)      /* eval sequence number */
 PERLVAR(Iorigenviron,  char **)
 PERLVAR(Iorigalen,     U32)
@@ -244,7 +243,7 @@ PERLVARI(Imaxo,     int,    MAXO)           /* maximum number of ops */
 PERLVAR(Iosname,       char *)         /* operating system */
 
 /* For binary compatibility with older versions only */
-PERLVARI(Ish_path_compat,      char *, SH_PATH)/* full path of shell */
+PERLVARI(Ish_path_compat,      const char *,   SH_PATH)/* full path of shell */
 
 PERLVAR(Isighandlerp,  Sighandler_t)
 
@@ -289,7 +288,7 @@ PERLVAR(Isv_no,             SV)
 PERLVAR(Isv_yes,       SV)
 
 #ifdef CSH
-PERLVARI(Icshname,     char *, CSH)
+PERLVARI(Icshname,     const char *,   CSH)
 PERLVARI(Icshlen,      I32,    0)
 #endif
 
@@ -398,12 +397,8 @@ PERLVAR(Ilast_swash_tmps,  U8 *)
 PERLVAR(Ilast_swash_slen,      STRLEN)
 
 /* perly.c globals */
-PERLVAR(Iyydebug,      int)
-PERLVAR(Iyynerrs,      int)
-PERLVAR(Iyyerrflag,    int)
-PERLVAR(Iyychar,       int)
-PERLVAR(Iyyval,                YYSTYPE)
-PERLVAR(Iyylval,       YYSTYPE)
+PERLVAR(Iyycharp,      int *)
+PERLVAR(Iyylvalp,      YYSTYPE *)
 
 PERLVARI(Iglob_index,  int,    0)
 PERLVAR(Isrand_called, bool)
@@ -458,10 +453,10 @@ PERLVAR(Inumeric_radix_sv,        SV *)   /* The radix separator if not '.' */
 PERLVAR(Iregex_pad,     SV**)          /* All regex objects */
 PERLVAR(Iregex_padav,   AV*)           /* All regex objects */
 
-#ifdef USE_REENTRANT_API
-PERLVAR(Ireentrant_buffer, REENTR*)    /* here we store the _r buffers */
 #endif
 
+#ifdef USE_REENTRANT_API
+PERLVAR(Ireentrant_buffer, REENTR*)    /* here we store the _r buffers */
 #endif
 
 PERLVARI(Isavebegin,     bool, FALSE)  /* save BEGINs for compiler     */
@@ -535,6 +530,11 @@ PERLVARI(Irehash_seed, UV, 0)              /* 582 hash initializer */
 
 PERLVARI(Irehash_seed_set, bool, FALSE)        /* 582 hash initialized? */
 
+/* These two variables are needed to preserve 5.8.x bincompat because we can't
+   change function prototypes of two exported functions.  Probably should be
+   taken out of blead soon, and relevant prototypes changed.  */
+PERLVARI(Ifdscript, int, -1)   /* fd for script */
+PERLVARI(Isuidscript, int, -1) /* fd for suid script */
 /* New variables must be added to the very end, before this comment,
  * for binary compatibility (the offsets of the old members must not change).
  * (Don't forget to add your variable also to perl_clone()!)