diff options
author | Sébastien Doeraene <sjrdoeraene@gmail.com> | 2016-04-23 09:10:30 +0200 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@typesafe.com> | 2016-04-23 09:10:30 +0200 |
commit | eb954cafa2737a6f06f8a802ceec133a88959f71 (patch) | |
tree | c4dc3d3144ac05303e4093023fe4bf8db7d083f4 /src/eclipse/scala-compiler/.classpath | |
parent | f55dd2084eca97c576a982473ab6701f98fb79a7 (diff) | |
download | scala-eb954cafa2737a6f06f8a802ceec133a88959f71.tar.gz scala-eb954cafa2737a6f06f8a802ceec133a88959f71.tar.bz2 scala-eb954cafa2737a6f06f8a802ceec133a88959f71.zip |
SI-9516 Fix the behavior of Int shift Long operations. (#5117)
In any shift operation where the lhs is an Int (or smaller) and
the rhs is a Long, the result kind must be Int, and not Long.
This is important because the lhs must *not* be promoted to a
Long, as that causes an opcode for long shift to be emitted.
This uses an rhs modulo 64, instead of int shifts which use an
rhs module 32. Instead, the rhs must be downgraded to an Int.
The new behavior is consistent with the same operations in the
Java programming language.
Diffstat (limited to 'src/eclipse/scala-compiler/.classpath')
0 files changed, 0 insertions, 0 deletions