diff options
Diffstat (limited to 'src/cmd/gc/sinit.c')
-rw-r--r-- | src/cmd/gc/sinit.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cmd/gc/sinit.c b/src/cmd/gc/sinit.c index b15061c2e..a6727e011 100644 --- a/src/cmd/gc/sinit.c +++ b/src/cmd/gc/sinit.c @@ -61,6 +61,8 @@ typeclass(Type *t) void initlin(Node* n) { + +loop: if(n == N) return; initlin(n->ninit); @@ -84,8 +86,8 @@ initlin(Node* n) case OLIST: initlin(n->left); - initlin(n->right); - break; + n = n->right; + goto loop; } } |