Thanks Stefan for your quick response. It seems I was a little off the mark :)
I had just ignored what I now understand to be some GCC magic for type sizes (as had my static analysis tool, which found the problem). Can anyone explain why the GCC instructions are used in place of the typical definition? Could it be expressed as: unsigned long __attribute__ ((__mode__ (__SI__))) with both the standard C part and the GCC part indicating the same size? (This would keep my static analysis tool happy). Paul -----Original Message----- From: Stefan Ernst [mailto:m...@ernx.de] Sent: 10 January 2012 19:28 To: Paul McClean Cc: avr-gcc-list@nongnu.org Subject: Re: [avr-gcc-list] AVR Libc int32_t and uint32_t typedefs are incorrect > However lines 125 and 126 define int32_t and uint32_t as signed > int and unsigned int respectively. What about the rest of that lines? unsigned int -> 16 bit unsigned int __attribute__ ((__mode__ (__SI__))) -> 32 bit > I have confirmed the sizes of the basic types on my system: > sizeof(long) = 4 > sizeof(unsigned long) = 4 > sizeof(int) = 2 > sizeof(unsigned int) = 2 And you haven't simply tested "sizeof(uint32_t)"? -- Stefan -- Asylia ExchangeDefender Message Security: Click below to verify authenticity http://www.exchangedefender.com/verify.asp?id=q0B0ipJA022508&from=p.mccl...@kelvatek.com _______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org https://lists.nongnu.org/mailman/listinfo/avr-gcc-list