From f29b943c0b672ff7f02c1046416f1b85d7344bfb Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 4 Sep 2017 19:52:41 +0200 Subject: pkg/compiler: detect recursive struct declarations Update #217 --- pkg/compiler/testdata/errors.txt | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'pkg/compiler/testdata') diff --git a/pkg/compiler/testdata/errors.txt b/pkg/compiler/testdata/errors.txt index 68c9895bf..feb0fed35 100644 --- a/pkg/compiler/testdata/errors.txt +++ b/pkg/compiler/testdata/errors.txt @@ -152,3 +152,34 @@ define d1 `some C expression` define d2 some C expression define d2 SOMETHING ### duplicate define d2 define d3 1 + +sr1 { + f1 sr1 ### recursive declaration: sr1.f1 -> sr1 (mark some pointers as opt) +} + +sr2 { + f1 sr3 + f2 sr4 +} + +sr3 { + f1 ptr[in, sr3] ### recursive declaration: sr3.f1 -> sr3 (mark some pointers as opt) +} + +sr4 { + f1 ptr[in, sr3] + f2 array[ptr[in, sr5], 4] ### recursive declaration: sr4.f2 -> sr5.f2 -> sr6.f1 -> sr4 (mark some pointers as opt) +} + +sr5 [ + f1 int32 + f2 sr6 +] + +sr6 { + f1 sr4 +} + +sr7 { + f1 ptr[in, sr7, opt] +} -- cgit mrf-deployment