Update copyrights.
[p5sagit/p5-mst-13.2.git] / sv.h
diff --git a/sv.h b/sv.h
index e80c755..09dae3f 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -1,7 +1,7 @@
 /*    sv.h
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, 2004, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 2005 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -68,6 +68,13 @@ struct STRUCT_SV {           /* struct sv { */
     void*      sv_any;         /* pointer to something */
     U32                sv_refcnt;      /* how many references to us */
     U32                sv_flags;       /* what we are */
+#ifdef DEBUG_LEAKING_SCALARS
+    unsigned   sv_debug_optype:9;      /* the type of OP that allocated us */
+    unsigned   sv_debug_inpad:1;       /* was allocated in a pad for an OP */
+    unsigned   sv_debug_cloned:1;      /* was cloned for an ithread */
+    unsigned   sv_debug_line:16;       /* the line where we were allocated */
+    char *     sv_debug_file;          /* the file where we were allocated */
+#endif
 };
 
 struct gv {
@@ -188,6 +195,7 @@ perform the upgrade if necessary.  See C<svtype>.
 #define SVp_SCREAM     0x08000000      /* has been studied? */
 
 #define SVf_UTF8        0x20000000      /* SvPV is UTF-8 encoded */
+/* Ensure this value does not clash with the GV_ADD* flags in gv.h */
 
 #define SVf_THINKFIRST (SVf_READONLY|SVf_ROK|SVf_FAKE)
 
@@ -606,6 +614,8 @@ and leaves the UTF-8 status as it was.
 =cut
  */
 
+/* Ensure the return value of this macro does not clash with the GV_ADD* flags
+in gv.h: */
 #define SvUTF8(sv)             (SvFLAGS(sv) & SVf_UTF8)
 #define SvUTF8_on(sv)          (SvFLAGS(sv) |= (SVf_UTF8))
 #define SvUTF8_off(sv)         (SvFLAGS(sv) &= ~(SVf_UTF8))