diff options
author | EXetoC <exetoc@gmail.com> | 2014-03-31 14:50:44 +0200 |
---|---|---|
committer | EXetoC <exetoc@gmail.com> | 2014-03-31 14:50:44 +0200 |
commit | 52c6956d1ae0cbc0d5f75f95047a9ea58220b358 (patch) | |
tree | f9cabf15fdf33de2d759551db8554922c54acacc /tests/vm | |
parent | b919ab790b7ed1cf6ca65c582b255cce2ea1618a (diff) | |
download | Nim-52c6956d1ae0cbc0d5f75f95047a9ea58220b358.tar.gz |
Add underflow/overflow tests.
Diffstat (limited to 'tests/vm')
-rw-r--r-- | tests/vm/toverflowopcaddimmint.nim | 11 | ||||
-rw-r--r-- | tests/vm/toverflowopcaddint.nim | 12 | ||||
-rwxr-xr-x | tests/vm/toverflowopcmulint | bin | 0 -> 159438 bytes | |||
-rw-r--r-- | tests/vm/toverflowopcmulint.nim | 11 | ||||
-rw-r--r-- | tests/vm/toverflowopcsubimmint.nim | 10 | ||||
-rw-r--r-- | tests/vm/toverflowopcsubint.nim | 12 |
6 files changed, 56 insertions, 0 deletions
diff --git a/tests/vm/toverflowopcaddimmint.nim b/tests/vm/toverflowopcaddimmint.nim new file mode 100644 index 000000000..c36b9ed9b --- /dev/null +++ b/tests/vm/toverflowopcaddimmint.nim @@ -0,0 +1,11 @@ +discard """ + errormsg: "over- or underflow" +""" + +static: + proc p = + var + x = int64.high + discard x + 1 + assert false + p() diff --git a/tests/vm/toverflowopcaddint.nim b/tests/vm/toverflowopcaddint.nim new file mode 100644 index 000000000..6d96afc78 --- /dev/null +++ b/tests/vm/toverflowopcaddint.nim @@ -0,0 +1,12 @@ +discard """ + errormsg: "over- or underflow" +""" + +static: + proc p = + var + x = int64.high + y = 1 + discard x + y + assert false + p() diff --git a/tests/vm/toverflowopcmulint b/tests/vm/toverflowopcmulint new file mode 100755 index 000000000..220d9a87c --- /dev/null +++ b/tests/vm/toverflowopcmulint Binary files differdiff --git a/tests/vm/toverflowopcmulint.nim b/tests/vm/toverflowopcmulint.nim new file mode 100644 index 000000000..81b3234ba --- /dev/null +++ b/tests/vm/toverflowopcmulint.nim @@ -0,0 +1,11 @@ +discard """ + errormsg: "over- or underflow" +""" + +static: + proc p = + var + x = 1 shl 62 + discard x * 2 + assert false + p() diff --git a/tests/vm/toverflowopcsubimmint.nim b/tests/vm/toverflowopcsubimmint.nim new file mode 100644 index 000000000..09d6f745b --- /dev/null +++ b/tests/vm/toverflowopcsubimmint.nim @@ -0,0 +1,10 @@ +discard """ + errormsg: "over- or underflow" +""" + +static: + proc p = + var x = int64.low + discard x - 1 + assert false + p() diff --git a/tests/vm/toverflowopcsubint.nim b/tests/vm/toverflowopcsubint.nim new file mode 100644 index 000000000..8d114f200 --- /dev/null +++ b/tests/vm/toverflowopcsubint.nim @@ -0,0 +1,12 @@ +discard """ + errormsg: "over- or underflow" +""" + +static: + proc p = + var + x = int64.low + y = 1 + discard x - y + assert false + p() |