SDCC 3.1.0 Released

Submitted by GG on Mon, 11/28/2011 - 15:34

SDCC logoAfter about a year of development and 3 release candidates, the SDCC team has released the new 3.1.0 version of this great multi platform cross compiler for MCUs. This version supports: 8051, DS390, Z80, HC08, and PIC MCUs.

Besides the numerous bug fixes here is a list of the important changes since the release 3.0.0 (list taken from SDCC website):

  • 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
Filed under