From 2376f0f937b8e6b457ef1fdf088b8b7059dcb0e2 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 14 May 2019 16:21:19 +0200 Subject: pkg/compiler: allow to refer to syscall arguments in len paths This allows to use len[syscall:arg] expressions. --- sys/test/gen/64.go | 6 ++++-- sys/test/test.txt | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'sys/test') diff --git a/sys/test/gen/64.go b/sys/test/gen/64.go index c07a033db..09797261d 100644 --- a/sys/test/gen/64.go +++ b/sys/test/gen/64.go @@ -90,8 +90,10 @@ var structDescs_64 = []*KeyedStruct{ {Key: StructKey{Name: "explicitly_sized_union"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "explicitly_sized_union", TypeSize: 42}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "f1", TypeSize: 1}}}, }}}, - {Key: StructKey{Name: "len_expr1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "len_expr1", TypeSize: 64}, Fields: []Type{ + {Key: StructKey{Name: "len_expr1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "len_expr1", TypeSize: 72}, Fields: []Type{ &StructType{Key: StructKey{Name: "len_expr2"}, FldName: "f11"}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "f12", TypeSize: 4}}, BitSize: 8, Path: []string{"syscall", "a2"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, }}}, {Key: StructKey{Name: "len_expr2"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "len_expr2", TypeSize: 64}, Fields: []Type{ &StructType{Key: StructKey{Name: "len_expr3"}, FldName: "f21"}, @@ -1003,4 +1005,4 @@ var consts_64 = []ConstValue{ {Name: "SYS_unsupported"}, } -const revision_64 = "3218225be4c9aad40c39be2b8bcb3008fd76ff1e" +const revision_64 = "596ee9bf31191a84ff800056cadc632de17b3b28" diff --git a/sys/test/test.txt b/sys/test/test.txt index 9fd037bf3..73c43d83d 100644 --- a/sys/test/test.txt +++ b/sys/test/test.txt @@ -432,6 +432,7 @@ test$length29(a ptr[in, static_filename]) len_expr1 { f11 len_expr2 + f12 bytesize[syscall:a2, int32] } len_expr2 { -- cgit mrf-deployment