]> Cypherpunks repositories - gostls13.git/commitdiff
some array init bugs
authorKen Thompson <ken@golang.org>
Thu, 21 May 2009 22:44:06 +0000 (15:44 -0700)
committerKen Thompson <ken@golang.org>
Thu, 21 May 2009 22:44:06 +0000 (15:44 -0700)
renamed 6g/(gen|align|obj).c

R=r
OCL=29205
CL=29205

src/cmd/6g/Makefile
src/cmd/6g/galign.c [moved from src/cmd/6g/align.c with 100% similarity]
src/cmd/6g/ggen.c [moved from src/cmd/6g/gen.c with 100% similarity]
src/cmd/6g/gobj.c [moved from src/cmd/6g/obj.c with 100% similarity]
src/cmd/gc/walk.c

index 4d2b6ab97d8d14dd3f63020483c482d2fbe42cce..d4bb7c4b451bdcac19a3b129477c879d5154bd17 100644 (file)
@@ -15,9 +15,9 @@ HFILES=\
 
 OFILES=\
        list.$O\
-       obj.$O\
-       align.$O\
-       gen.$O\
+       gobj.$O\
+       galign.$O\
+       ggen.$O\
        cgen.$O\
        gsubr.$O\
        peep.$O\
similarity index 100%
rename from src/cmd/6g/align.c
rename to src/cmd/6g/galign.c
similarity index 100%
rename from src/cmd/6g/gen.c
rename to src/cmd/6g/ggen.c
similarity index 100%
rename from src/cmd/6g/obj.c
rename to src/cmd/6g/gobj.c
index 8b4fc40f23537ba7eb99ebe3100d1309db99d588..e20f0c75ce5cc9b0834b336bb22d97b5fb657139 100644 (file)
@@ -3970,9 +3970,11 @@ structlit(Node *n, Node *var)
        r = listfirst(&saver, &n->left);
        if(r != N && r->op == OEMPTY)
                r = N;
+       if(r == N)
+               return var;
 
        mixflag = 0;
-       if(r != N && r->op == OKEY) {
+       if(r->op == OKEY) {
                a = nod(OAS, var, N);
                addtop = list(addtop, a);
                goto loop2;
@@ -4050,11 +4052,11 @@ arraylit(Node *n, Node *var)
                r = N;
 
        while(r != N) {
-               b++;
                if(r->op == OKEY) {
                        evconst(r->left);
                        b = nonnegconst(r->left);
                }
+               b++;
                if(b > ninit)
                        ninit = b;
                r = listnext(&saver);
@@ -4064,7 +4066,8 @@ arraylit(Node *n, Node *var)
        if(b == -100) {
                // flag for [...]
                b = ninit;
-               t = shallow(t);
+               if(var == N)
+                       t = shallow(t);
                t->bound = b;
        }