diff options
Diffstat (limited to 'src/cmd/gc/sinit.c')
-rw-r--r-- | src/cmd/gc/sinit.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cmd/gc/sinit.c b/src/cmd/gc/sinit.c index b1160d3d4..1b618fddb 100644 --- a/src/cmd/gc/sinit.c +++ b/src/cmd/gc/sinit.c @@ -90,12 +90,18 @@ init1(Node *n, NodeList **out) break; case OAS2FUNC: + if(n->defn->initorder) + break; + n->defn->initorder = 1; for(l=n->defn->rlist; l; l=l->next) init1(l->n, out); *out = list(*out, n->defn); break; case OAS2MAPR: + if(n->defn->initorder) + break; + n->defn->initorder = 1; for(l=n->defn->rlist; l; l=l->next) init1(l->n, out); *out = list(*out, n->defn); |