Assorted 2.15 fixes.
[p5sagit/p5-mst-13.2.git] / sv.h
diff --git a/sv.h b/sv.h
index 5f4a262..bfc4778 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -275,26 +275,29 @@ perform the upgrade if necessary.  See C<svtype>.
 #define SVpav_REIFY    0x80000000      /* can become real */
 
 struct xpv {
+    IV         xpv_dummy;      /* This isn't allocated. */
     STRLEN     xpv_cur;        /* length of sv_pv as a C string */
     STRLEN     xpv_len;        /* allocated size */
 };
 
+typedef struct xpv xpv_allocated;
+
 struct xpviv {
+    IV         xiv_iv;         /* integer value or pv offset */
     STRLEN     xpv_cur;        /* length of sv_pv as a C string */
     STRLEN     xpv_len;        /* allocated size */
-    IV         xiv_iv;         /* integer value or pv offset */
 };
 
 struct xpvuv {
+    UV         xuv_uv;         /* unsigned value or pv offset */
     STRLEN     xpv_cur;        /* length of sv_pv as a C string */
     STRLEN     xpv_len;        /* allocated size */
-    UV         xuv_uv;         /* unsigned value or pv offset */
 };
 
 struct xpvnv {
+    IV         xiv_iv;         /* integer value or pv offset */
     STRLEN     xpv_cur;        /* length of sv_pv as a C string */
     STRLEN     xpv_len;        /* allocated size */
-    IV         xiv_iv;         /* integer value or pv offset */
     union {
        NV      xnvu_nv;        /* numeric value, if any */
        struct {
@@ -311,9 +314,9 @@ struct xpvnv {
 
 /* These structure must match the beginning of struct xpvhv in hv.h. */
 struct xpvmg {
+    IV         xiv_iv;         /* integer value or pv offset */
     STRLEN     xpv_cur;        /* length of sv_pv as a C string */
     STRLEN     xpv_len;        /* allocated size */
-    IV         xiv_iv;         /* integer value or pv offset */
     union {
        NV      xnvu_nv;        /* numeric value, if any */
        struct {
@@ -329,9 +332,9 @@ struct xpvmg {
 };
 
 struct xpvlv {
+    IV         xiv_iv;         /* integer value or pv offset */
     STRLEN     xpv_cur;        /* length of sv_pv as a C string */
     STRLEN     xpv_len;        /* allocated size */
-    IV         xiv_iv;         /* integer value or pv offset */
     union {
        NV      xnvu_nv;        /* numeric value, if any */
        struct {
@@ -360,9 +363,9 @@ struct xpvlv {
 };
 
 struct xpvgv {
+    IV         xiv_iv;         /* integer value or pv offset */
     STRLEN     xpv_cur;        /* length of sv_pv as a C string */
     STRLEN     xpv_len;        /* allocated size */
-    IV         xiv_iv;         /* integer value or pv offset */
     union {
        NV      xnvu_nv;        /* numeric value, if any */
        struct {
@@ -384,9 +387,9 @@ struct xpvgv {
 };
 
 struct xpvbm {
+    IV         xiv_iv;         /* integer value or pv offset */
     STRLEN     xpv_cur;        /* length of sv_pv as a C string */
     STRLEN     xpv_len;        /* allocated size */
-    IV         xiv_iv;         /* integer value or pv offset */
     union {
        NV      xnvu_nv;        /* numeric value, if any */
        struct {
@@ -410,9 +413,9 @@ struct xpvbm {
 typedef U16 cv_flags_t;
 
 struct xpvfm {
+    IV         xiv_iv;         /* integer value or pv offset */
     STRLEN     xpv_cur;        /* length of sv_pv as a C string */
     STRLEN     xpv_len;        /* allocated size */
-    IV         xiv_iv;         /* integer value or pv offset */
     union {
        NV      xnvu_nv;        /* numeric value, if any */
        struct {
@@ -444,9 +447,9 @@ struct xpvfm {
 };
 
 struct xpvio {
+    IV         xiv_iv;         /* integer value or pv offset */
     STRLEN     xpv_cur;        /* length of sv_pv as a C string */
     STRLEN     xpv_len;        /* allocated size */
-    IV         xiv_iv;         /* integer value or pv offset */
     union {
        NV      xnvu_nv;        /* numeric value, if any */
        struct {
@@ -1487,3 +1490,13 @@ struct clone_params {
   UV  flags;
   PerlInterpreter *proto_perl;
 };
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */