summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Forsyth <charles.forsyth@gmail.com>2017-05-14 22:30:26 +0100
committerCharles Forsyth <charles.forsyth@gmail.com>2017-05-14 22:30:26 +0100
commit02ed2dd7ed0e81f2e99aa3b52f1eccb59a3140f4 (patch)
tree65569cdd58cbdd12e86aabc615570d5136a177e9
parentce55048ed8aa387b05bef18cfeb96b31b3abb081 (diff)
unless oldcycles, circular reference via array is now fine
-rw-r--r--limbo/types.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/limbo/types.c b/limbo/types.c
index 32955483..8c225279 100644
--- a/limbo/types.c
+++ b/limbo/types.c
@@ -2023,7 +2023,7 @@ cycfield(Type *base, Decl *id)
error(base->src.start, "illegal type cycle without a reference in field %s of %t",
id->sym->name, base);
id->cycerr = 1;
- }else if(arc & ArcCyc){
+ }else if(arc & ArcCyc && oldcycles){
if((arc & ArcArray) && id->cyc == 0 && !(arc & ArcPolycyc)){
if(id->cycerr == 0)
error(base->src.start, "illegal circular reference to type %T in field %s of %t",