On Monday, February 21, 2022 2:58:43 PM EST Richard W.M. Jones wrote: > > if (arg2) { > > arg1->bar = (char [])(char *)memcpy(malloc((size)*sizeof(char)), (const > > char *)(arg2), sizeof(char)*(size)); > > } else { > > arg1->bar = 0; > > } > > > > which results in > > > > error: cast specifies array type > > > > and > > > > error: assignment to expression with array type. > > > > Is this intended to be an error by gcc-12? > > GCC 11 (gcc-11.2.1-9.fc35.x86_64) gives plenty of errors with this > code: > > array.c: In function ‘f’: > array.c:14:8: error: cast specifies array type > 14 | (char [])(char *)memcpy(malloc((size)*sizeof(char)), > | ^ > > array.c:13:16: error: invalid use of flexible array member > 13 | arg1->bar = > | ^ > > array.c:17:16: error: invalid use of flexible array member > 17 | arg1->bar = 0; > | ^ > > In fact these are identical in GCC 12 (gcc-12.0.1-0.6.fc36.x86_64). > > So whatever it is, I don't think it has anything to do with GCC 12. Thanks. You got me wondering what's going on. It builds fine on F35. So, I looked at the kernel headers on F35. It has bar[0]; F36/rawhide have bar[]; So, the kernel changed. Checking the blame info, it was related to https://github.com/KSPP/linux/issues/78 OK, so now I know what happened. I guess I need to check with SWIG upstream. Or rewrite the Python bindings to get rid of SWIG. Either way, it's going to be a while to fix this FTBFS. And as the other email mentions...I bet it is making buggy code. -Steve _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure