Re: [PATCH][next] MIPS: dec: prom: Address -Warray-bounds warning

From: Gustavo A. R. Silva
Date: Fri Jun 23 2023 - 10:14:11 EST




On 6/23/23 07:41, Maciej W. Rozycki wrote:
On Fri, 23 Jun 2023, Thomas Bogendoerfer wrote:

Zero-length arrays are deprecated, and we are replacing them with flexible
array members instead. So, replace zero-length array with flexible-array
member in struct memmap.

Technically it is a semantics bug fix actually, as the TURBOchannel
firmware specification (from Jan 1993) says it's:

typedef struct{ int pagesize; unsigned char bitmap[];}memmap;
int getbitmap(memmap *map);

(formatting preserved as in the document) so it should have always been a
flexible array member. Maybe old (2.x) GCC versions had an issue with it
or something, as otherwise I can't imagine why whoever added our typedef
did it differently from the spec.

Apparently, flexible-array members were supported in some 2.x versions as an
extension to the language; and it was not until GCC 3.0 that they were fully
supported by the compiler.


applied to mips-next.

Not sure if you can retrofit it, but:

Acked-by: Maciej W. Rozycki <macro@xxxxxxxxxxx>

Thanks!
--
Gustavo