summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Forsyth <charles.forsyth@gmail.com>2017-05-14 22:32:40 +0100
committerCharles Forsyth <charles.forsyth@gmail.com>2017-05-14 22:32:40 +0100
commit7353052c1b3f72584fab5ff94e45f12987ec581b (patch)
tree61c091eff716022f04ce1bbfe1ef23c0b0a41bca
parent01b678530faf154a6b639a25f0c58f7cf35441ec (diff)
unless oldcycles, certain cyclic references are fine
-rw-r--r--appl/cmd/limbo/types.b2
1 files changed, 1 insertions, 1 deletions
diff --git a/appl/cmd/limbo/types.b b/appl/cmd/limbo/types.b
index 6b1802e5..c14ff512 100644
--- a/appl/cmd/limbo/types.b
+++ b/appl/cmd/limbo/types.b
@@ -1774,7 +1774,7 @@ cycfield(base: ref Type, id: ref Decl)
error(base.src.start, "illegal type cycle without a reference in field "
+id.sym.name+" of "+stypeconv(base));
id.cycerr = byte 1;
- }else if(arc & ArcCyc){
+ }else if(arc & ArcCyc && oldcycles){
if((arc & ArcArray) && id.cyc == byte 0 && !(arc & ArcPolycyc)){
if(id.cycerr == byte 0)
error(base.src.start, "illegal circular reference to type "+typeconv(id.ty)