Version 3.6.0 of SDCC, a C implementation targeting 8-bit architectures including the STM8 was released a few hours ago:
Today a new release of SDCC was made. We are now at version 3.6.0.
You can get it at:
So what's new?
* Merged upstream binutils 2.25
* New memory management with lower overhead
* Changed default language dialect to --std-sdcc11
* Diagnostic for missing type specifier: No implicit int outside of C90
* C11 generic selections
* char type is now unsigned by default (old behaviour can be restored
* Character constants are now of type int instead of char.
* ISO C95 and ISO C11 wide character constants
* ISO C95 and ISO C11 wide string literals
* Basic standard library support for wide characters: c16rtomb(),
mbrtoc16(), mbsinit(), mbtowc(), mbrlen(), mbrtoc32, c32rtomb(),
mbrtowc(), wcrtomb(), mblen(), wctomb()
* Treat all ports the same in the manual (i.e. mcs51-specific stuff is now
clearly described as such)
* Reorganized interrupt handling for z80, z180, r2k, r3ka, tlcs90, gbz80
* Workaround for stm8 division hardware bug
* ELF/DWARF support for stm8
* Output symbol table for ELF
* pic16 port now uses standard-compliant crt0iz that initializes static
and globals to 0 by default
And of course numerous feature requests and bug fixes are included as well.
Once again I hope you will enjoy using this new release.
SDCC 3.6.0 Release Manager
Most important to STM8 users are probably the improved standard support and various small fixes and improvements in the STM8 backend.
A current comparison of C compilers for the STM8 can be found at http://colecovision.eu/stm8/compilers.shtml.