aboutsummaryrefslogtreecommitdiff
path: root/AstSemantics.md
diff options
context:
space:
mode:
authorDan Gohman <sunfish@mozilla.com>2015-06-10 18:16:47 -0700
committerDan Gohman <sunfish@mozilla.com>2015-06-10 18:16:47 -0700
commit4e44dc2d06355a61ec2b259e90145dee8cfca549 (patch)
tree29e4445564d3da572a0948d7c1be7b64abdc1acf /AstSemantics.md
parent95b607450bdeeac671e7f0d4eba7cbfacedd21cb (diff)
downloadnanowasm-design-4e44dc2d06355a61ec2b259e90145dee8cfca549.tar.gz
Make INT32_MIN % -1 defined again.
Diffstat (limited to 'AstSemantics.md')
-rw-r--r--AstSemantics.md5
1 files changed, 3 insertions, 2 deletions
diff --git a/AstSemantics.md b/AstSemantics.md
index 8e6a9bd..738f8c6 100644
--- a/AstSemantics.md
+++ b/AstSemantics.md
@@ -308,8 +308,9 @@ and 0 representing false.
* Int32Ule - unsigned less than or equal
Division or remainder by zero traps.
-Signed division overflow (`INT32_MIN / -1`) and the corresponding signed
-remainder operation (`INT32_MIN % -1`) trap.
+Signed division overflow (`INT32_MIN / -1`) traps. Signed remainder with a
+non-zero denominator always returns the correct value, even when the
+corresponding division would trap.
Shifts interpret their shift count operand as an unsigned value. When the
shift count is at least the bitwidth of the shift, Shl and Shr return 0,