shithub: riscv

Download patch

ref: 766a641d252cf4de21d50b2753dd8c25490b8ba0
parent: d1204d9b8085634241bf5655279e54a606406cb1
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Fri Sep 6 22:11:18 EDT 2019

cc: fix void cast crash

the following code reproduces the crash:

void
foo(void)
{
}

void
main(int argc, char **argv)
{
	(void)(1 ? (void)0 : foo());
}

the problem is that side() gives a false positive on the OCOND
with later constant folding eleminating the acutal side effect
and OCAST ending up with two nested OCATS with the nested one
being zapped (type == T).