From 3d76cc40d99e9f984db1ecc9310a8ea2004ec901 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 23 Jan 2018 11:38:53 +0100 Subject: pkg/compiler: fix len of parent template struct Consider the following example: type len_templ1[DATA1, DATA2] { data DATA1 inner len_temp2[DATA2] } type len_temp2[DATA] { data DATA len len[len_templ1, int8] } Here len refers to a parent struct, but the struct is a template, so it's actual name is something like "len_templ1[int8, int16]". Currently this does not work as compiler barks at incorrect len target. Make this work. --- prog/size_test.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'prog/size_test.go') diff --git a/prog/size_test.go b/prog/size_test.go index 9c76d05f6..8f472491d 100644 --- a/prog/size_test.go +++ b/prog/size_test.go @@ -126,6 +126,10 @@ func TestAssignSize(t *testing.T) { "syz_test$length22(&(0x7f0000000000)='12345', 0x0)", "syz_test$length22(&(0x7f0000000000)='12345', 0x28)", }, + { + "syz_test$length23(&(0x7f0000000000)={0x1, {0x2, 0x0}})", + "syz_test$length23(&(0x7f0000000000)={0x1, {0x2, 0x6}})", + }, } for i, test := range tests { -- cgit mrf-deployment