}
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;
ret = PL_regcode;
if (SIZE_ONLY) {
- SIZE_ALIGN(regsize);
+ SIZE_ALIGN(PL_regsize);
PL_regsize += 1;
return(ret);
}
ret = PL_regcode;
if (SIZE_ONLY) {
- SIZE_ALIGN(regsize);
+ SIZE_ALIGN(PL_regsize);
PL_regsize += 2;
return(ret);
}