This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix uninitialized warnings in Pod::Perldoc
[perl5.git] / regexp.h
index 8cce3b3..90e3406 100644 (file)
--- a/regexp.h
+++ b/regexp.h
@@ -88,7 +88,7 @@ typedef struct regexp_paren_pair {
        /* during matching */                                           \
        U32 lastparen;                  /* last open paren matched */   \
        U32 lastcloseparen;             /* last close paren matched */  \
-       regexp_paren_pair *swap;        /* Swap copy of *offs */        \
+       regexp_paren_pair *swap;        /* Unused: 5.10.1 and later */  \
        /* Array of offsets for (@-) and (@+) */                        \
        regexp_paren_pair *offs;                                        \
        /* saved or original string so \digit works forever. */         \
@@ -107,12 +107,6 @@ typedef struct regexp {
        _REGEXP_COMMON;
 } regexp;
 
-struct regexp_allocated {
-       _XPV_ALLOCATED_HEAD;
-       _XPVMG_HEAD;
-       _REGEXP_COMMON;
-};
-
 /*        HV *paren_names;      Optional hash of paren names
          now stored in the IV union */
 
@@ -371,11 +365,13 @@ and check for NULL.
 
 /* For source compatibility. We used to store these explicitly.  */
 #define RX_PRECOMP(prog)       (RX_WRAPPED(prog) + ((struct regexp *)SvANY(prog))->pre_prefix)
+#define RX_PRECOMP_const(prog) (RX_WRAPPED_const(prog) + ((struct regexp *)SvANY(prog))->pre_prefix)
 /* FIXME? Are we hardcoding too much here and constraining plugin extension
    writers? Specifically, the value 1 assumes that the wrapped version always
    has exactly one character at the end, a ')'. Will that always be true?  */
 #define RX_PRELEN(prog)                (RX_WRAPLEN(prog) - ((struct regexp *)SvANY(prog))->pre_prefix - 1)
 #define RX_WRAPPED(prog)       SvPVX(prog)
+#define RX_WRAPPED_const(prog) SvPVX_const(prog)
 #define RX_WRAPLEN(prog)       SvCUR(prog)
 #define RX_CHECK_SUBSTR(prog)  (((struct regexp *)SvANY(prog))->check_substr)
 #define RX_REFCNT(prog)                SvREFCNT(prog)