After more than a year of development and 2 release candidates, the SDCC team has released the new 3.0.0 version of this great multi platform cross compiler for MCUs. This version supports: 8051, DS390, Z80, HC08, and PIC MCUs.
Besides the numerous bug fixes here is a list of the important changes since the release 2.9.0 (list taken from SDCC website):
- sdcpp synchronized with GNU cpp 4.5.0
- changed z80 and gb targets object file extension to .rel
- special sdcc keywords which are not preceded by a double underscore are deprecated in sdcc version 3.0.0 and higher. See section ANSI-Compliance in sdccman
- xa51 and avr targets are disabled by default in sdcc version 3.0.0 and higher
- introduced new memory model huge for mcs51 to use bankswitching for all functions
- removed generation of GameBoy binary image file format, rrgb map file format and no$gmb sym file format from sdld linker. Utility makebin generates GameBoy binary image file format, utility as2gbmap utility converts sdas map file to rrgb map and no$gmb sym file formats.
- implemented __builtin_offsetof
- asxxxx / aslink renamed to sdas / sdld and synchronized with ASXXXX V2.0
- majority of sdcc run time library released under GPL+LE license (see http://sourceforge.net/apps/trac/sdcc/wiki/Files%20and%20Licenses)
- introduced --use-non-free command line option
- non free (non GPL compatible) header and library files moved to non-free directory
- deprecated --no-pack-iram command line option