summaryrefslogtreecommitdiff
path: root/src/cmd/gc/align.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/gc/align.c')
-rw-r--r--src/cmd/gc/align.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cmd/gc/align.c b/src/cmd/gc/align.c
index 80c65387b..8e9677e75 100644
--- a/src/cmd/gc/align.c
+++ b/src/cmd/gc/align.c
@@ -119,7 +119,8 @@ dowidth(Type *t)
if(t->width == -2) {
lno = lineno;
lineno = t->lineno;
- yyerror("invalid recursive type %T", t);
+ if(!t->broke)
+ yyerror("invalid recursive type %T", t);
t->width = 0;
lineno = lno;
return;
@@ -219,7 +220,8 @@ dowidth(Type *t)
checkwidth(t->down);
break;
case TFORW: // should have been filled in
- yyerror("invalid recursive type %T", t);
+ if(!t->broke)
+ yyerror("invalid recursive type %T", t);
w = 1; // anything will do
break;
case TANY: