summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/cmd/1c/cgen.c5
-rw-r--r--sys/src/cmd/2c/cgen.c5
-rw-r--r--sys/src/cmd/5c/cgen.c5
-rw-r--r--sys/src/cmd/6c/cgen.c5
-rw-r--r--sys/src/cmd/8c/cgen.c5
-rw-r--r--sys/src/cmd/kc/cgen.c5
-rw-r--r--sys/src/cmd/qc/cgen.c5
-rw-r--r--sys/src/cmd/vc/cgen.c5
8 files changed, 32 insertions, 8 deletions
diff --git a/sys/src/cmd/1c/cgen.c b/sys/src/cmd/1c/cgen.c
index 2f121e510..d790f75e9 100644
--- a/sys/src/cmd/1c/cgen.c
+++ b/sys/src/cmd/1c/cgen.c
@@ -376,7 +376,10 @@ cgen(Node *n, int result, Node *nn)
case OCAST:
if(result == D_NONE) {
- nullwarn(l, Z);
+ if(n->type != types[TVOID])
+ nullwarn(l, Z);
+ else
+ cgen(l, D_NONE, Z);
break;
}
lg = result;
diff --git a/sys/src/cmd/2c/cgen.c b/sys/src/cmd/2c/cgen.c
index 3c1d4b3d9..ca78a8c55 100644
--- a/sys/src/cmd/2c/cgen.c
+++ b/sys/src/cmd/2c/cgen.c
@@ -376,7 +376,10 @@ cgen(Node *n, int result, Node *nn)
case OCAST:
if(result == D_NONE) {
- nullwarn(l, Z);
+ if(n->type != types[TVOID])
+ nullwarn(l, Z);
+ else
+ cgen(l, D_NONE, Z);
break;
}
lg = result;
diff --git a/sys/src/cmd/5c/cgen.c b/sys/src/cmd/5c/cgen.c
index 42421f6cc..c968a48f7 100644
--- a/sys/src/cmd/5c/cgen.c
+++ b/sys/src/cmd/5c/cgen.c
@@ -399,7 +399,10 @@ cgenrel(Node *n, Node *nn, int inrel)
case OCAST:
if(nn == Z) {
- nullwarn(l, Z);
+ if(n->type != types[TVOID])
+ nullwarn(l, Z);
+ else
+ cgen(l, Z);
break;
}
/*
diff --git a/sys/src/cmd/6c/cgen.c b/sys/src/cmd/6c/cgen.c
index 8bac8370d..add70f5f9 100644
--- a/sys/src/cmd/6c/cgen.c
+++ b/sys/src/cmd/6c/cgen.c
@@ -976,7 +976,10 @@ cgen(Node *n, Node *nn)
case OCAST:
if(nn == Z) {
- nullwarn(l, Z);
+ if(n->type != types[TVOID])
+ nullwarn(l, Z);
+ else
+ cgen(l, Z);
break;
}
/*
diff --git a/sys/src/cmd/8c/cgen.c b/sys/src/cmd/8c/cgen.c
index 3d929ae7c..070155fb7 100644
--- a/sys/src/cmd/8c/cgen.c
+++ b/sys/src/cmd/8c/cgen.c
@@ -994,7 +994,10 @@ cgen(Node *n, Node *nn)
case OCAST:
if(nn == Z) {
- nullwarn(l, Z);
+ if(n->type != types[TVOID])
+ nullwarn(l, Z);
+ else
+ cgen(l, Z);
break;
}
/*
diff --git a/sys/src/cmd/kc/cgen.c b/sys/src/cmd/kc/cgen.c
index aa3c2ebff..14be95d6a 100644
--- a/sys/src/cmd/kc/cgen.c
+++ b/sys/src/cmd/kc/cgen.c
@@ -358,7 +358,10 @@ cgen(Node *n, Node *nn)
case OCAST:
if(nn == Z) {
- nullwarn(l, Z);
+ if(n->type != types[TVOID])
+ nullwarn(l, Z);
+ else
+ cgen(l, Z);
break;
}
/*
diff --git a/sys/src/cmd/qc/cgen.c b/sys/src/cmd/qc/cgen.c
index 018d80bf3..b375ff6ce 100644
--- a/sys/src/cmd/qc/cgen.c
+++ b/sys/src/cmd/qc/cgen.c
@@ -395,7 +395,10 @@ cgen(Node *n, Node *nn)
case OCAST:
if(nn == Z) {
- nullwarn(l, Z);
+ if(n->type != types[TVOID])
+ nullwarn(l, Z);
+ else
+ cgen(l, Z);
break;
}
/*
diff --git a/sys/src/cmd/vc/cgen.c b/sys/src/cmd/vc/cgen.c
index e5d4fc349..425134a10 100644
--- a/sys/src/cmd/vc/cgen.c
+++ b/sys/src/cmd/vc/cgen.c
@@ -359,7 +359,10 @@ cgen(Node *n, Node *nn)
case OCAST:
if(nn == Z) {
- nullwarn(l, Z);
+ if(n->type != types[TVOID])
+ nullwarn(l, Z);
+ else
+ cgen(l, Z);
break;
}
/*