aboutsummaryrefslogtreecommitdiffstats
path: root/sys/test/test.txt
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-01-23 11:38:53 +0100
committerDmitry Vyukov <dvyukov@google.com>2018-01-23 11:38:53 +0100
commit3d76cc40d99e9f984db1ecc9310a8ea2004ec901 (patch)
treef80644ea1b67d6a9d9c5475c7d3737082c866102 /sys/test/test.txt
parent14d1e424b6a582d021c73c88e1f0c5f0962ecc9d (diff)
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.
Diffstat (limited to 'sys/test/test.txt')
-rw-r--r--sys/test/test.txt12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/test/test.txt b/sys/test/test.txt
index f8a1e4fba..051c17ce6 100644
--- a/sys/test/test.txt
+++ b/sys/test/test.txt
@@ -338,6 +338,18 @@ syz_length_parent2_struct {
f2 len[syz_length_parent2_struct, int8]
}
+type len_templ1[DATA1, DATA2] {
+ data DATA1
+ inner len_temp2[DATA2]
+}
+
+type len_temp2[DATA] {
+ data DATA
+ len len[len_templ1, int8]
+}
+
+syz_test$length23(a ptr[in, len_templ1[int8, int16]])
+
# Big endian
syz_test$end0(a0 ptr[in, syz_end_int_struct])