Somehow r663, which contained a fix for 64bit, got checked in as a null change
[external/ragel.git] / ragel / parsedata.cpp
index 16e6f7a..6dd8492 100644 (file)
@@ -115,7 +115,7 @@ Key makeFsmKeyHex( char *str, const InputLoc &loc, ParseData *pd )
        }
 
        if ( unusedBits && keyOps->alphType->isSigned && ul >> (size * 8 - 1) )
-               ul |= ( 0xffffffff >> (size*8) ) << (size*8);
+               ul |= ( -1L >> (size*8) ) << (size*8);
 
        return Key( (long)ul );
 }