A new release of SDCC, the portable optimizing compiler suite for  Intel MCS51 based (8031, 8032, 8051, 8052, etc.), Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) HC08 based (hc08, s08), Zilog Z80 based (z80, z180, gbz80, Rabbit 2000/3000, Rabbit 3000A) and Microchip PIC16 and PIC18 microprocessors is now available (http://sdcc.sourceforge.net).
Sources, documentation and binaries compiled for x86 Linux, x86 MS Windows and Mac OS X universal binaries are available.

SDCC 3.2.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: