summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-07-30 11:03:58 -0700
committerRuss Cox <rsc@golang.org>2009-07-30 11:03:58 -0700
commit75d08faad15c489b80117b55dee59c1b672f7a15 (patch)
treeee93f3b50ef278c959497bd3d8b6cc217b417c90
parent27d6c15bfeafb743f97fe6839e367e4ae1bb71ca (diff)
downloadgolang-75d08faad15c489b80117b55dee59c1b672f7a15.tar.gz
fix build on amd64
R=ken OCL=32521 CL=32521
-rw-r--r--src/cmd/5g/ggen.c2
-rw-r--r--src/cmd/6g/ggen.c2
-rw-r--r--src/cmd/6g/list.c5
-rw-r--r--src/cmd/8g/ggen.c2
4 files changed, 10 insertions, 1 deletions
diff --git a/src/cmd/5g/ggen.c b/src/cmd/5g/ggen.c
index 9014cb407..04fe16ce1 100644
--- a/src/cmd/5g/ggen.c
+++ b/src/cmd/5g/ggen.c
@@ -68,6 +68,8 @@ compile(Node *fn)
genlist(curfn->enter);
genlist(curfn->nbody);
checklabels();
+ if(nerrors != 0)
+ goto ret;
if(curfn->type->outtuple != 0)
ginscall(throwreturn, 0);
diff --git a/src/cmd/6g/ggen.c b/src/cmd/6g/ggen.c
index ea932e782..d0f9ab3f9 100644
--- a/src/cmd/6g/ggen.c
+++ b/src/cmd/6g/ggen.c
@@ -70,6 +70,8 @@ compile(Node *fn)
genlist(curfn->nbody);
gclean();
checklabels();
+ if(nerrors != 0)
+ goto ret;
if(curfn->type->outtuple != 0)
ginscall(throwreturn, 0);
diff --git a/src/cmd/6g/list.c b/src/cmd/6g/list.c
index 799bacf9a..5f71813c5 100644
--- a/src/cmd/6g/list.c
+++ b/src/cmd/6g/list.c
@@ -101,7 +101,10 @@ Dconv(Fmt *fp)
break;
case D_BRANCH:
- snprint(str, sizeof(str), "%ld", a->branch->loc);
+ if(a->branch == nil)
+ snprint(str, sizeof(str), "<nil>");
+ else
+ snprint(str, sizeof(str), "%ld", a->branch->loc);
break;
case D_EXTERN:
diff --git a/src/cmd/8g/ggen.c b/src/cmd/8g/ggen.c
index 3a44d64f0..ee26a6110 100644
--- a/src/cmd/8g/ggen.c
+++ b/src/cmd/8g/ggen.c
@@ -68,6 +68,8 @@ compile(Node *fn)
genlist(curfn->nbody);
gclean();
checklabels();
+ if(nerrors != 0)
+ goto ret;
if(curfn->type->outtuple != 0)
ginscall(throwreturn, 0);