Small Device C Compiler 3.2.0 released

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 (
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

* Named address spaces with optimal placement of bank selection calls.
* _Noreturn.
* --std-c11 command line option for ISO C11.
* ucsim support for the LR35902 (gameboy CPU).
* The gbz80 port is alive again, there were many bug fixes and the generated code is much better now.
* Pic 14 enhanced core libraries are included in sdcc builds by default
* Added pic 14 enhanced core devices: 16f1503, 16f1508, 16f1509, 16f1516, 16f1517, 16f1518, 16f1519, 16f1526, 16f1527, 16f1946, 16f1947
* PIC14/PIC16: Implemented __critical; PIC14 __critical function cannot have arguments for now, though
* inclusion of some tests from the gcc test suite into the sdcc regression test suite led to many bugs being found and fixed.
* Many macros with previously non-standard-compliant names have been renamed (SDCC_REVISION to __SDCC_REVISION, etc).
* setjmp() / longjmp() for the z180 and r2k ports.
* Added sdar archive managing utility. sdar and sdranlib are derived from GNU binutils package
* Added support for pic 14 core devices: 16f720, 16f721, 16f882, 16f883, 16f884, 16f747, 16f946
* sdcpp synchronized with GNU cpp 4.6.3
* Added support for pic 18f1230/18f1330 device family
* Implemented #pragma config for pic16 target
* sdcc now works on Debian GNU/Hurd.
* New register allocator for the hc08 port, resulting in better code being generated.
* New s08 port.
* New r3ka port.
* Many small improvements in the z80, hc08 and r2k code generation, reducing code size.
* Shift, multiplication, division and returning of long long are now supported (modulo for long long is still missing, integer literals of type long long are broken).

Numerous feature requests and bug fixes are included as well.

You can download the release from:


Posted by Borut Ražem 2012-07-09

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks