aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cmd/gc/subr.c2
-rw-r--r--src/cmd/gc/walk.c10
2 files changed, 7 insertions, 5 deletions
diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c
index c1fbb5ae90..a561b761a6 100644
--- a/src/cmd/gc/subr.c
+++ b/src/cmd/gc/subr.c
@@ -440,7 +440,7 @@ aindex(Node *b, Type *t)
r = typ(TARRAY);
r->type = t;
r->bound = bound;
- dowidth(r);
+ checkwidth(r);
return r;
}
diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c
index b2bea4f62a..54645438a0 100644
--- a/src/cmd/gc/walk.c
+++ b/src/cmd/gc/walk.c
@@ -1995,6 +1995,7 @@ newcompat(Node *n)
if(t == T)
goto bad;
+/*
if(isptr[t->etype]) {
if(t->type == T)
goto bad;
@@ -2012,12 +2013,13 @@ newcompat(Node *n)
r->type = n->type;
goto ret;
}
+*/
switch(t->etype) {
default:
- goto bad;
-
- case TSTRUCT:
+// goto bad;
+//
+// case TSTRUCT:
if(n->left != N)
yyerror("dont know what new(,e) means");
@@ -3510,7 +3512,7 @@ maplit(Node *n)
tempname(var, t);
a = nod(ONEW, N, N);
- a->type = t;
+ a->type = t->type;
a = nod(OAS, var, a);
addtop = list(addtop, a);