> -----Original Message-----
> From: avr-gcc-list-bounces+eric.weddington=atmel....@nongnu.org
> [mailto:avr-gcc-list-bounces+eric.weddington=atmel....@nongnu.org] On
> Behalf Of Thomas, George
> Sent: Monday, November 19, 2012 4:32 AM
> To: avr-gcc-list@nongnu.org
> Subject: [avr-gcc-list] Align attribute in gcc requiring alignment of 2 for
> Xmegas with USB.
> 
> Section 20.13.7 of the Xmega manual speaks about the requirement of 16 bit
> alignment.
> 
> http://www.atmel.com/images/doc8331.pdf
> 
> As the MAXIMUM_ALIGNMENT in avr.h is set to 1,  it throws an error when
> trying to compile.
> 
> I have attached a patch which sets it to 2 by default in the compiler.
> I have also attached a case which fails.
> 
> Would this be an acceptable change ?

Hi George,

No, this would not be an acceptable change, because it is changing the data 
alignment for the whole compiler, when there is only a restriction on a data 
structure for a single peripheral for a small subset of the AVR processors.

This is why the data attribute "aligned" exists. Just do this for your data 
structure:
__attribute__ ((aligned (2)))

Eric

_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to