summary refs log tree commit diff
path: root/bin/1sh/tests/expansion/arith11.0
diff options
context:
space:
mode:
Diffstat (limited to 'bin/1sh/tests/expansion/arith11.0')
-rw-r--r--bin/1sh/tests/expansion/arith11.012
1 files changed, 12 insertions, 0 deletions
diff --git a/bin/1sh/tests/expansion/arith11.0 b/bin/1sh/tests/expansion/arith11.0
new file mode 100644
index 00000000..6fc08175
--- /dev/null
+++ b/bin/1sh/tests/expansion/arith11.0
@@ -0,0 +1,12 @@
+# $FreeBSD: releng/12.1/bin/sh/tests/expansion/arith11.0 218626 2011-02-12 23:44:05Z jilles $
+# Try to divide the smallest integer by -1.
+# On amd64 this causes SIGFPE, so make sure the shell checks.
+
+# Calculate the minimum possible value, assuming two's complement and
+# a certain interpretation of overflow when shifting left.
+minint=1
+while [ $((minint <<= 1)) -gt 0 ]; do
+	:
+done
+v=$( eval ': $((minint / -1))' 2>&1 >/dev/null)
+[ $? -ne 0 ] && [ -n "$v" ]