The SDCC C cross-compiler is now available in version 2.9.0. It is also possible to produce binaries for the Amstrad CPC with it (see this CPC Wiki article). The most important feature are the optimizations of the Z80 backend which now produces a smaller code size and improved execution speed. Here are the features of the final 2.9.0 version:
- sdcpp synchronized with GNU cpp 4.3.3
- Integer constants written in binary (prefix 0b or 0B, followed by a sequence of 0 and 1digits) are now supported as a SDCC extension.
- pic16 *printf() library functions return int
- disabled support of undocumented and not standard compliant ‘b’ binary format specifier ("%b", "%hb" and "%lb") in pic16 *printf() and printf_tiny() library functions
- fixed initialization of unnamed bitfields members of objects of structure and union type
- many optimizations to reduce code size and increase speed in the Z80 backend
- added support for ar format libraries to adcc asxxxx
- libraries, included in sdcc packages, are in ar format
- sdcc asxxxx license changed to GPLv3
- added support for many PIC16 devices
- and a lot of other feature requests and bugfixes
As always you can download it from the official SDCC homepage.