diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/FAILURES.md | 3 | ||||
| -rw-r--r-- | tests/i/integer-boundaries/expected.txt | 1 | ||||
| -rw-r--r-- | tests/i/integer-boundaries/notes.md | 2 | ||||
| -rw-r--r-- | tests/i/integer-boundaries/program.cps | 1 |
4 files changed, 6 insertions, 1 deletions
diff --git a/tests/FAILURES.md b/tests/FAILURES.md index 3890e3b..83744e5 100644 --- a/tests/FAILURES.md +++ b/tests/FAILURES.md @@ -8,6 +8,7 @@ Baseline: Linux x86_64, Clang/LLVM 23.1.3, Release EMBEDDED, compiler sources at |---|---|---| | i/class-default-public | Omitted access defaults to public (CIE p. 28). | Rejects the field unless PUBLIC/PRIVATE is explicit. | | i/identifier-case | Identifier lookup is case insensitive (CIE p. 7). | Reports the differently cased variable as unknown. | +| i/integer-boundaries | The minimum i64 literal is -9223372036854775808. | Silently produces -9223372036854775807; reading the same value through INPUT works. | | i/standard-while | Accept WHILE condition without DO (CIE p. 21). | Requires DO. | | iii/argument-count | Wrong argument count, line 4. | Correct cause, no line. | | iii/builtin-arity | LENGTH arity, line 2. | Correct cause, no line. | @@ -19,7 +20,7 @@ Baseline: Linux x86_64, Clang/LLVM 23.1.3, Release EMBEDDED, compiler sources at | iii/nominal-type-mismatch | Incompatible named pointers, line 7. | Correct cause, no line. | | iii/unknown-name | Undeclared name, line 2. | Correct cause, no line. | -Both native and `-r` compilation expose the three i-group failures. All nine iii-group failures occur with both native/IR output requests, whether the destination was absent or already contained a sentinel. Failed compilation preserves the destination in these cases. The remaining 33 compiler cases passed locally, including seven groups of 10,000 random records plus 36 boundary records (70,036 total inputs, each checked through native and embedded execution). +Both native and `-r` paths expose the four i-group failures. All nine iii-group failures occur with both native/IR output requests, whether the destination was absent or already contained a sentinel. Failed compilation preserves the destination in these cases. The remaining 32 compiler cases passed locally, including seven groups of 10,000 random records plus 36 boundary records (70,036 total inputs, each checked through native and embedded execution). The baseline test seed and exact command results are retained in `build/test-results`; subsequent CI reports use their own explicit push SHA. Platform results from Actions are the authority for Windows/macOS verification; local Linux results do not establish their behavior. diff --git a/tests/i/integer-boundaries/expected.txt b/tests/i/integer-boundaries/expected.txt index 5fd67df..b7eb7b8 100644 --- a/tests/i/integer-boundaries/expected.txt +++ b/tests/i/integer-boundaries/expected.txt @@ -5,3 +5,4 @@ -1 TRUE:TRUE:TRUE 9223372036854775807:-9223372036854775808:0 +-9223372036854775808 diff --git a/tests/i/integer-boundaries/notes.md b/tests/i/integer-boundaries/notes.md index b89da97..0a8f6c5 100644 --- a/tests/i/integer-boundaries/notes.md +++ b/tests/i/integer-boundaries/notes.md @@ -5,3 +5,5 @@ Human review: pending. Expected output was independently traced by AI, not captu Basis: Project INTEGER=i64 contract; CIE pp. 7 and 15 do not specify bit width or overflow. Trace: Inputs are 2^63-1 and -2^63. Every operation stays in range; their sum is -1 and division by 1 preserves both values. + +The final line independently exercises the minimum INTEGER as a source literal, rather than only through INPUT. Its exact value must also be -2^63; parsing its positive magnitude before applying unary minus must not silently change the value. diff --git a/tests/i/integer-boundaries/program.cps b/tests/i/integer-boundaries/program.cps index c08b658..a4aec33 100644 --- a/tests/i/integer-boundaries/program.cps +++ b/tests/i/integer-boundaries/program.cps @@ -9,3 +9,4 @@ OUTPUT Lo + 1 OUTPUT Hi + Lo OUTPUT Lo < 0, ":", Hi > 0, ":", Lo < Hi OUTPUT Hi DIV 1, ":", Lo DIV 1, ":", Lo MOD 1 +OUTPUT -9223372036854775808 |
