A new release of SDCC, the portable optimizing compiler for 8051, DS390, Z80, Z180, Rabbit 2000, HC08 and PIC microprocessors is now available (http://sdcc.sourceforge.net).
Sources, documentation and binaries compiled for x86 Linux, x86 MS Windows and PPC Mac OS X are available.
SDCC 3.1.0 Feature List
* include/pic, non-free/include/pic, lib/pic, non-free/lib/pic renamed to */pic14
* implemented --fomit-frame-pointer for mcs51
* support for use of sdcc in z88dk (--reserve-regs-iy and --no-optsdcc-in-asm options; smallc calling convention)
* new register allocator in the z80 and gbz80 ports (optimal when using --opt-code-size and a sufficiently high value for --max-allocs-per-node for the z80 port)
* C99 designated initializers
* added strxfrm() and strcoll() functions; strerror() is the only string handling function still missing
* added support for pic18f2xk22/pic18f4xk22 family (requires gputils > 0.14.0 and --enable-new-pics configure flag)
* added support for enhanced core pic14 devices (requires gputils > 0.14.0 and --enable-new-pics configure flag)
* setjmp() / longjmp() for the z80 port
* _Bool / bool for the hc08, pic16 and pic14 ports
* sdcpp synchronized with GNU cpp 4.6.1
* z180 port
* very basic (no integer constants, multiplication, division, shifts or use as return value) support for data types long long, unsigned long long, int_fast64_t, int_least64_t, int64_t, uint_fast64_t, uint_least64_t, uint64_t in the z80, z180, r2k and gbz80 ports
* r2k port for the Rabbit 2000 and Rabbit 3000
Numerous feature requests and bug fixes are included as well.
You can download the release from: