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 article in the CPCWiki. 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.
- 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.