Part Number: MSP430FR2433
Hi,
I am getting a warning when compiling a simple project. The project compiles ok and works on real hardware but this warning has only just appeared and wasn't there at the start of the project.
Warning #10229-D output section ".data" refers to load symbol ".init_array" and hence cannot be compressed; compression "lzss" is ignored.
I have 3 structs to control peripherals, which are declared as so:

The memory allocation shows like this:

My question is: Why does the first struct to be declared, SENSE_L, get put in the .data section and the rest are put in .bss ?
If I swap the SENSE_L and SENSE_R declarations then SENSE_R is placed in .data instead, so it's always the first to be declared that is placed in .data.
This has only just started happening, in earlier versions all were placed in .bss.
The only recent change I have made is to use class enums instead of straight enums and added an operator& override.