Adriaan van Os wrote:
Waldek Hebisch wrote:
I think the problem was that value to be assigned was internally converted to `Integer' which caused subsequent operation to treat arguments as signed. In particular shifting 1 (`True') from highest bit positions to proper place filled high sub-word with 1-s. Since later we want only low bits the range check failed. AFAICS earlier we would just silently produce wrong code (setting too many bits to 1).
The patch below should fix this:
Great, this solves the problem !
Good, I'm applying it. (Causes no regressions for me.)
Frank