From 713f727d983ec2c0c8307a7dcafc270aeee900dd Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Fri, 18 Oct 2019 14:45:31 +0200 Subject: prog, pkg/compiler: alignment for integer ranges Enables the syntax intN[start:end, alignment] for integer ranges. For instance, int32[0:10, 2] represents even 32-bit numbers between 0 and 10 included. With this change, two NEED tags in syscall descriptions can be addressed. Signed-off-by: Paul Chaignon --- pkg/compiler/testdata/errors2.txt | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'pkg/compiler/testdata/errors2.txt') diff --git a/pkg/compiler/testdata/errors2.txt b/pkg/compiler/testdata/errors2.txt index db8f87e25..a2e1d682c 100644 --- a/pkg/compiler/testdata/errors2.txt +++ b/pkg/compiler/testdata/errors2.txt @@ -254,6 +254,13 @@ foo$512(a ptr[in, array[int8, -2:-1]]) ### bad size range [18446744073709551614: foo$513(a ptr[in, array[int8, -2:2]]) ### bad size range [18446744073709551614:2] foo$514(a vma[-2:2]) ### bad size range [18446744073709551614:2] foo$515(a ptr[in, proc[1, -10, int64]]) ### values starting from 1 with step 18446744073709551606 overflow base type for 32 procs +foo$516(a ptr[in, intptr[0:2, 1]]) ### bad int alignment 1 +foo$517(a intptr[0:0xffffffff, 0]) ### bad int alignment 0 +foo$518(a int64[1:100, -1]) ### int alignment 18446744073709551615 is too large for range [1:100] +foo$519(a int64[0:10, 512]) ### int alignment 512 is too large for range [0:10] +foo$520(a int8[0:16, 0xffff]) ### int alignment 65535 is too large for range [0:16] +foo$521(a int32[9:10, 8]) ### int alignment 8 is too large for range [9:10] +foo$522(a int8[0:-1, 1000]) ### int alignment 1000 is too large for range [0:255] type type500 proc[C1, 8, int8] ### values starting from 1 with step 8 overflow base type for 32 procs type type501 int8 ### unused type type501 -- cgit mrf-deployment