summaryrefslogtreecommitdiff
path: root/sys/src/cmd/cc
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2019-06-19 23:50:33 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2019-06-19 23:50:33 +0200
commit63191949b911658c3774e727061fcf166ad9ace2 (patch)
tree4457246e240e6d4b82a7fbbee0aef1374c519bfe /sys/src/cmd/cc
parent159f96c534563f26edeeb227cd00f1bdd3bd2596 (diff)
cc: remove nullwarn() from OCAST codegen, zap void casts
implicit casts would cause spurious "result of operation not used" warnings such as ape's stdio putc() macro. make (void) casts non-ops when the casted expression has no side effects. this avoid spurious warning with ape's assert() macro.
Diffstat (limited to 'sys/src/cmd/cc')
-rw-r--r--sys/src/cmd/cc/com.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/src/cmd/cc/com.c b/sys/src/cmd/cc/com.c
index 9fcf9861f..46a59d49a 100644
--- a/sys/src/cmd/cc/com.c
+++ b/sys/src/cmd/cc/com.c
@@ -1073,6 +1073,11 @@ loop:
break;
case OCAST:
+ if(n->type == types[TVOID] && !side(l)){
+ n->left = Z;
+ n->type = T;
+ break;
+ }
if(castucom(n))
warn(n, "32-bit unsigned complement zero-extended to 64 bits");
ccom(l);