diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-07-30 19:11:16 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-07-30 19:11:16 +0200 |
commit | 4f33c88a51587681b7be1ae57cfbc43b627c6bc4 (patch) | |
tree | 25560404dc80007e5dc268811242c9071f6a1017 /sys/src/cmd/cc/dcl.c | |
parent | fcc5e75d07e5bc6cb3ddac6d9a437e7ec62d0d95 (diff) |
import updated compilers from sources
Diffstat (limited to 'sys/src/cmd/cc/dcl.c')
-rw-r--r-- | sys/src/cmd/cc/dcl.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/sys/src/cmd/cc/dcl.c b/sys/src/cmd/cc/dcl.c index c21375a94..968654165 100644 --- a/sys/src/cmd/cc/dcl.c +++ b/sys/src/cmd/cc/dcl.c @@ -519,7 +519,7 @@ newlist(Node *l, Node *r) } void -suallign(Type *t) +sualign(Type *t) { Type *l; long o, w; @@ -581,7 +581,7 @@ suallign(Type *t) return; default: - diag(Z, "unknown type in suallign: %T", t); + diag(Z, "unknown type in sualign: %T", t); break; } } @@ -1180,12 +1180,6 @@ paramconv(Type *t, int f) { switch(t->etype) { - case TUNION: - case TSTRUCT: - if(t->width <= 0) - diag(Z, "incomplete structure: %s", t->tag->name); - break; - case TARRAY: t = typ(TIND, t->link); t->width = types[TIND]->width; @@ -1283,6 +1277,8 @@ pdecl(int c, Type *t, Sym *s) diag(Z, "parameter cannot have class: %s", s->name); c = CPARAM; } + if(typesu[t->etype] && t->width <= 0) + diag(Z, "incomplete structure: %s", t->tag->name); adecl(c, t, s); } |