2023-06-28 10:11 PM
There is now a Release Candidate 1 for the 4.3.0 release of the Small Device C Compiler (SDCC), a free ISO C compiler targeting the STM8 and other 8-bit architectures.
In addition to the source package, binaries are available for x86 and amd64 Windows, amd64 macOS, and amd64 GNU/Linux.
In addition to various bug fixes, notable features added since the 4.2.0 release are:
* C2X bit-precise integer types and bit-fields thereof for (except for pic14, pic16).
* Added all new general mnemonics from ASxxxx 5.40 except for .bank and enabled for all ports
* sm83: sdasgb now can output cycles in listing and sz80 has accurate cycles for this processor except for branching
* struct / union return (except for ds390, hc08, s08, mos6502, pic14, pic16).
* div standard library function family.
* struct / union parameters (except for hc08, s08, mos6502, pic14, pic16).
* C2X nullptr.
* Many fixes for the type system and _Generic.
* Adopted more of GCC, QuickC and tinycc tests.
* C2X char8_t.
* C2X memalignment.
* C2X unreachable.
* C2X typeof, typeof_unqual.
* C2X auto.
* C2X keywords bool, true, false, alignas, alignof, static_assert.
* C90-C17 function declarators without prototypes.
* C99 variably modified types.
* C2X bit and byte utilities.
* call_once.
* _sdcc_external_startup renamed to __sdcc_external_startup and supported for all ports.
* makeshift support for long double as another alias for float.
A full list of changes can be found in the ChangeLog:
https://sourceforge.net/p/sdcc/code/HEAD/tree/tags/sdcc-4.3.0-rc1/sdcc/ChangeLog
For those of you that want to use 4.3.0, now is a last chance to check if there are any issues affecting you that could still be fixed before the release.
Source, documentation and binary packages for amd64 GNU/Linux, x86 and amd64 Windows and amd64 macOS are available in corresponding folders at the usual place:
http://sourceforge.net/projects/sdcc/files/
Philipp