aboutsummaryrefslogtreecommitdiff
path: root/tests/i/integer-literal-contexts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/i/integer-literal-contexts')
-rw-r--r--tests/i/integer-literal-contexts/case.json3
-rw-r--r--tests/i/integer-literal-contexts/expected.txt3
-rw-r--r--tests/i/integer-literal-contexts/notes.md5
-rw-r--r--tests/i/integer-literal-contexts/program.cps10
4 files changed, 21 insertions, 0 deletions
diff --git a/tests/i/integer-literal-contexts/case.json b/tests/i/integer-literal-contexts/case.json
new file mode 100644
index 0000000..1f18635
--- /dev/null
+++ b/tests/i/integer-literal-contexts/case.json
@@ -0,0 +1,3 @@
+{
+ "exit_code": 0
+}
diff --git a/tests/i/integer-literal-contexts/expected.txt b/tests/i/integer-literal-contexts/expected.txt
new file mode 100644
index 0000000..e23c6cc
--- /dev/null
+++ b/tests/i/integer-literal-contexts/expected.txt
@@ -0,0 +1,3 @@
+9223372036854775807
+-9223372036854775808:9223372036854775807
+0:-1:-3
diff --git a/tests/i/integer-literal-contexts/notes.md b/tests/i/integer-literal-contexts/notes.md
new file mode 100644
index 0000000..6285895
--- /dev/null
+++ b/tests/i/integer-literal-contexts/notes.md
@@ -0,0 +1,5 @@
+# integer-literal-contexts
+
+Human review: pending. Expected output was independently traced, not captured from cpsc.
+
+The i64 endpoints are exact in constants, expressions and signed parameter bounds. The array has one element, containing Maximum. Ordinary unary negation still yields 0, -1 and -3.
diff --git a/tests/i/integer-literal-contexts/program.cps b/tests/i/integer-literal-contexts/program.cps
new file mode 100644
index 0000000..3ebc7fb
--- /dev/null
+++ b/tests/i/integer-literal-contexts/program.cps
@@ -0,0 +1,10 @@
+CONSTANT Minimum = -9223372036854775808
+CONSTANT Maximum = 9223372036854775807
+DECLARE Values : ARRAY[-9223372036854775808:-9223372036854775808] OF INTEGER
+Values[Minimum] <- Maximum
+CALL Show(Values)
+OUTPUT Minimum, ":", Maximum
+OUTPUT -0, ":", -1, ":", -(1 + 2)
+PROCEDURE Show(BYREF Items : ARRAY[-9223372036854775808:-9223372036854775808] OF INTEGER)
+ OUTPUT Items[-9223372036854775808]
+ENDPROCEDURE