aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/java/security
diff options
context:
space:
mode:
authorJose E. Marchesi <jemarch@gnu.org>2026-02-04 10:18:14 +0100
committerJose E. Marchesi <jemarch@gnu.org>2026-02-05 10:43:17 +0100
commit5a3bf2217b649087670ed2e6079bc06f9209db0c (patch)
tree79bc261014b544f4fc41407846f2b1f1e892c8a5 /libjava/gnu/java/security
parentf40a87f0a48cb11219ed13658d555875e6721cae (diff)
downloadgcc-5a3bf2217b649087670ed2e6079bc06f9209db0c.zip
gcc-5a3bf2217b649087670ed2e6079bc06f9209db0c.tar.gz
gcc-5a3bf2217b649087670ed2e6079bc06f9209db0c.tar.bz2
a68: fix bit-shift standard operators [PR algol68/123959]
In Standard Algol 68: - ABS (b) < bits_width results in the expected result. - ABS (b) = bits_width results in all bits set to zero. - ABS (b) > bits_width is undefined. In GNU algol 68: - ABS (b) < bits_width results in the expected result. - ABS (b) >= bits_width results in all bits set to zero. Our behavior is: 1. Conformant and backwards compatible. 2. Matches well with the similar extension of skip of integral, bits, real, etc values to always yield zeroes. 3. Intuitive. This patch fixes the lowering of the standard operators SHR and SHL accordingly, including an update for the manual and a few tests. Signed-off-by: Jose E. Marchesi <jemarch@gnu.org> gcc/algol68/ChangeLog PR algol68/123959 * a68.h: Expand prototype of a68_bits_shift to get a node argument for location purposes. * a68-low-bits.cc (a68_bits_shift): Implement RR compatible semantics. * a68-low-prelude.cc (a68_lower_shl3): Fix call to a68_bit_shift. (a68_lower_shr3): Likewise. * ga68.texi (Bits operators): Fix documentation of SHR and SHL. gcc/testsuite/ChangeLog PR algol68/123959 * algol68/execute/bits-shift-1.a68: New test. * algol68/execute/bits-shift-2.a68: Likewise. * algol68/execute/bits-shift-3.a68: Likewise.
Diffstat (limited to 'libjava/gnu/java/security')
0 files changed, 0 insertions, 0 deletions