summaryrefslogtreecommitdiff
path: root/src/cmd/gc/sinit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/gc/sinit.c')
-rw-r--r--src/cmd/gc/sinit.c6
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);