back out change#1703 that break bincompat with PERL_OBJECT and
[p5sagit/p5-mst-13.2.git] / regcomp.c
index 41c42fa..f2f51a4 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -306,7 +306,10 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
 
        }
        if (OP(scan) != CURLYX) {
-           int max = (reg_off_by_arg[OP(scan)] ? I32_MAX : U16_MAX);
+           int max = (reg_off_by_arg[OP(scan)]
+                      ? I32_MAX
+                      /* I32 may be smaller than U16 on CRAYs! */
+                      : (I32_MAX < U16_MAX ? I32_MAX : U16_MAX));
            int off = (reg_off_by_arg[OP(scan)] ? ARG(scan) : NEXT_OFF(scan));
            int noff;
            regnode *n = scan;
@@ -2101,7 +2104,7 @@ reg_node(U8 op)
 
     ret = PL_regcode;
     if (SIZE_ONLY) {
-       SIZE_ALIGN(regsize);
+       SIZE_ALIGN(PL_regsize);
        PL_regsize += 1;
        return(ret);
     }
@@ -2126,7 +2129,7 @@ reganode(U8 op, U32 arg)
 
     ret = PL_regcode;
     if (SIZE_ONLY) {
-       SIZE_ALIGN(regsize);
+       SIZE_ALIGN(PL_regsize);
        PL_regsize += 2;
        return(ret);
     }