API changes involving C99 integer types

Till Straumann strauman at slac.stanford.edu
Wed Sep 3 21:18:17 UTC 2008

Between 4.7 and what is to become 4.9 a few prototypes
(e.g., in <rtems/pci.h>, <libcpu/io.h> [powerpc]) have
been converted from

unsigned char  -> uint8_t
unsigned short -> uint16_t
unsigned int   -> uint32_t

While these changes superficially may make sense they do
introduce a major maintenance nightmare:

All of our software which is affected by these changes
now produces lots of 'pointer incompatibility' and
'wrong printf format' and other warnings.

Unfortunately, it is not possible to just migrate
all our stuff to the new API since it must build/work
with several RTEMS versions.

I would suggest to more carefully discuss and test
any API changes (even if they seem trivial) ahead
of committing them.


More information about the users mailing list