This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove union _xivu from _XPVCV_COMMON, and hence structs xpvcv and xpvfm
[perl5.git] / sv.h
diff --git a/sv.h b/sv.h
index d5872c9..97a6c53 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -416,9 +416,8 @@ union _xnvu {
 
 union _xivu {
     IV     xivu_iv;            /* integer value */
-                               /* xpvfm: lines */
     UV     xivu_uv;
-    I32            xivu_i32;
+    I32            xivu_i32;           /* BmUSEFUL */
     HEK *   xivu_namehek;      /* xpvlv, xpvgv: GvNAME */
 };
 
@@ -482,7 +481,6 @@ struct xpvgv {
 typedef U16 cv_flags_t;
 
 #define _XPVCV_COMMON                                                          \
-    union _xivu xiv_u;                                                         \
     HV *       xcv_stash;                                                      \
     union {                                                                    \
        OP *    xcv_start;                                                      \
@@ -504,6 +502,7 @@ typedef U16 cv_flags_t;
 struct xpvfm {
     _XPV_HEAD;
     _XPVCV_COMMON;
+    IV         xfm_lines;
 };
 
 #define _XPVIO_TAIL                                                    \
@@ -1302,7 +1301,7 @@ the scalar's value cannot change unless written to.
 
 #endif
 
-#define FmLINES(sv)    ((XPVFM*)  SvANY(sv))->xiv_u.xivu_iv
+#define FmLINES(sv)    ((XPVFM*)  SvANY(sv))->xfm_lines
 
 #define LvTYPE(sv)     ((XPVLV*)  SvANY(sv))->xlv_type
 #define LvTARG(sv)     ((XPVLV*)  SvANY(sv))->xlv_targ