summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cmd/6g/Makefile6
-rw-r--r--src/cmd/6g/galign.c (renamed from src/cmd/6g/align.c)0
-rw-r--r--src/cmd/6g/ggen.c (renamed from src/cmd/6g/gen.c)0
-rw-r--r--src/cmd/6g/gobj.c (renamed from src/cmd/6g/obj.c)0
-rw-r--r--src/cmd/gc/walk.c9
5 files changed, 9 insertions, 6 deletions
diff --git a/src/cmd/6g/Makefile b/src/cmd/6g/Makefile
index 4d2b6ab97..d4bb7c4b4 100644
--- a/src/cmd/6g/Makefile
+++ b/src/cmd/6g/Makefile
@@ -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\
diff --git a/src/cmd/6g/align.c b/src/cmd/6g/galign.c
index fa7315057..fa7315057 100644
--- a/src/cmd/6g/align.c
+++ b/src/cmd/6g/galign.c
diff --git a/src/cmd/6g/gen.c b/src/cmd/6g/ggen.c
index 1b7505e61..1b7505e61 100644
--- a/src/cmd/6g/gen.c
+++ b/src/cmd/6g/ggen.c
diff --git a/src/cmd/6g/obj.c b/src/cmd/6g/gobj.c
index e990d661d..e990d661d 100644
--- a/src/cmd/6g/obj.c
+++ b/src/cmd/6g/gobj.c
diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c
index 8b4fc40f2..e20f0c75c 100644
--- a/src/cmd/gc/walk.c
+++ b/src/cmd/gc/walk.c
@@ -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;
}