Closed andy-hanson closed 1 month ago
Thank you for reporting this. It revealed wrong passing such structures as arguments for x86-64 and riscv64 call ABI.
I fixed it by 62c4eced208353514ed303ef1ecb051d563cbc05 and 5ce509e30070cd074697c7ba92ce8bae988d378c.
Thanks, I confirmed it's working now.
Running
c2m a.c -eg
: This should print "foo". Instead there is an internal assertion error:Tested using a local build of commit 9b7aa035d97ab3b8e7b3e04d995c19794de1d0e6 with
make debug
thensudo make install
.The error seems to happen if there is any anonymous struct or union that contains a pointer member. There's no error if I break it out to a named type, remove
int filler;
, or usechar str[4]
instead.