regexec.c: No statements before declarations
authorKarl Williamson <public@khwilliamson.com>
Thu, 5 Dec 2013 04:24:38 +0000 (21:24 -0700)
committerKarl Williamson <public@khwilliamson.com>
Thu, 5 Dec 2013 04:27:44 +0000 (21:27 -0700)
Commit b99851e1941e002dd4816ee6c76fd49bbee1d7f3 moved a statement to
before the declarations in its block.  Mea culpa.  It turns out that I
missed the warnings that were shown for -W=declaration-after-statement.
I'm henceforth changing that to -Werror=declaration-after-statement.

regexec.c

index 5e4db06..7f6acb2 100644 (file)
--- a/regexec.c
+++ b/regexec.c
@@ -7455,7 +7455,6 @@ S_reginclass(pTHX_ regexp * const prog, const regnode * const n, const U8* const
                 }
             }
            else if (ANYOF_POSIXL_TEST_ANY_SET(n)) {
-                RXp_MATCH_TAINTED_on(prog);
 
                 /* The data structure is arranged so bits 0, 2, 4, ... are set
                  * if the class includes the Posix character class given by
@@ -7489,6 +7488,8 @@ S_reginclass(pTHX_ regexp * const prog, const regnode * const n, const U8* const
 
                 int count = 0;
                 int to_complement = 0;
+
+                RXp_MATCH_TAINTED_on(prog);
                 while (count < ANYOF_MAX) {
                     if (ANYOF_POSIXL_TEST(n, count)
                         && to_complement ^ cBOOL(isFOO_lc(count/2, (U8) c)))