This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
In S_regpiece(), only declare parse_start if conditional code needs it.
authorNicholas Clark <nick@ccl4.org>
Tue, 29 Mar 2011 14:36:40 +0000 (15:36 +0100)
committerNicholas Clark <nick@ccl4.org>
Wed, 18 May 2011 19:26:54 +0000 (20:26 +0100)
gcc 4.6.0 warns about variables that are set but never read, and unless
RE_TRACK_PATTERN_OFFSETS is defined, parse_start is never read. So avoid
declaring or setting it if it's not actually going to be used later.

regcomp.c

index dcd9856..ba59390 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -7504,7 +7504,9 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
     const char * const origparse = RExC_parse;
     I32 min;
     I32 max = REG_INFTY;
+#ifdef RE_TRACK_PATTERN_OFFSETS
     char *parse_start;
+#endif
     const char *maxpos = NULL;
     GET_RE_DEBUG_FLAGS_DECL;
 
@@ -7523,7 +7525,9 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
 
     if (op == '{' && regcurly(RExC_parse)) {
        maxpos = NULL;
+#ifdef RE_TRACK_PATTERN_OFFSETS
         parse_start = RExC_parse; /* MJD */
+#endif
        next = RExC_parse + 1;
        while (isDIGIT(*next) || *next == ',') {
            if (*next == ',') {
@@ -7619,7 +7623,9 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
       vFAIL("Regexp *+ operand could be empty");
 #endif
 
+#ifdef RE_TRACK_PATTERN_OFFSETS
     parse_start = RExC_parse;
+#endif
     nextchar(pRExC_state);
 
     *flagp = (op != '+') ? (WORST|SPSTART|HASWIDTH) : (WORST|HASWIDTH);