A new version of the SDCC C compiler is available. You can use SDCC to develop for the Amstrad CPC, e.g. with using the SDCC Code::Blocks template or the programming tutorials by Mochilote. In the new version, there are a lot of optimisations for the Z80 backend, so be sure to update if you already use the old version. You can download it from http://sdcc.sourceforge.net.
Changes:
- 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).