http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46261
--- Comment #19 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2011-06-28 19:05:00 UTC --- On Tue, 28 Jun 2011, gjl at gcc dot gnu.org wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46261 > > --- Comment #18 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-06-28 > 18:34:54 UTC --- > (In reply to comment #17) > > A) Include a new file, say avr/stdint.h, instead of newlib-stdint.h. > > > > or > > > > B) Include newlib-stdint.h prior to avr.h and override as needed. > > or > > C) Omit newlib-stdint.h altogether and to the defines in avr.h. > > C) and A) are better than B) Indeed, I simply made all bare-metal targets use newlib-stdint.h as a default, but since AVR has its own libc it seems more appropriate to put the defines in avr-stdint.h or avr.h and not use newlib-stdint.h. (And the point of having separate headers such as newlib-stdint.h is that there may not otherwise be a header shared between all relevant targets. If all AVR targets use avr-libc, putting the defines in avr.h makes sense, but if avr-rtems is using newlib like other RTEMS targets then you probably want a separate header only for AVR targets using avr-libc.)