sdcc 3.7.0




Там это, вышла стабильная версия этого чудного компилятора. 26 февраля еще, правда, а новости так и не было.

SDCC 3.7.0 Feature List:

  • Changed putchar() prototype from void putchar(char) to int putchar(int) to improve standard-compliance and allow error reporting.
  • Various speed improvements in stm8 backend - Dhrystone score more than doubled, resulting in SDCC achieving the highest Dhrystone scores among STM8 C implementations.
  • Various speed improvements for multiplications resulting in SDCC achieving the highest Coremark scores among STM8 C implementations.
  • Declarations in for loops (ISO C99).
  • 64-bit integers (long long) for the mcs51 and ds390 backends (now long long is fully supported in SDCC except for the pic14 and pic16 backends).
  • Full _Bool support for mcs51 and ds390 backend (now _Bool is fully supported in SDCC regardless of backend).
  • Additional wide character library functions: mbstowcs() and wcstombs(), btowc() and wctob(), wcscmp(), wcslen().
  • Changed PRNG for rand() from LCG to xorshift to improve speed and quality.
  • Support for Small-C calling convention on the callee side (i.e. function definitions with Small-C calling convention).
  • The obsolete macro SDCC (which used to contain the version number encoded as an integer) has finally been removed (except for mcs51, where it will survive a little bit longer for SiLabs IDE compability).
  • New devices supported by simulator (TLCS-90, and the 517, F380, XC88X, DS320 mcs51-variants along with dual-dptr and MDU support).
  • Timer, UART (incl. interrupt) and I/O support in STM8 simulator.
  • Simulator support for banked memory and bit banding.
  • Various simulator improvements: Conditional breakpoints, breakpoints by function name from SDCC debug output, OMF input, VCD output, simulator interface for simulated program and new operators in expressions.
  • Deprecated --nojtbound and the corresponding pragma.
  • Faster register allocator reduces compilation time by about 25% (does not apply to mcs51, ds390 which use a different register allocator).
  • Execution count guessing and use of execution count guesses in stm8 register allocation improve optimization for code speed.
  • Changed getchar() prototype from char getchar(void) to int getchar(void) to improve standard-compliance and allow error reporting.
  • Type qualifiers in array parameters (ISO C99).
    static in array parameters (ISO C99).
  • Improved support for DWARFv2 debug info in ELF output (stm8, hc08, s08).
  • Various improvements in z80/z180/gbz80/tlcs90/r2k/r3ka code generation, in particular for mixed 16-/32-bit code.
  • __z88dk_fastcall function pointer support for --reserve-regs-iy.
  • tlcs90 is now a fully supported backend, no longer work in progress.
  • --data-seg to specify the segment for non-initialized data in the z80, z180, gbz80, tlcs90, r2k and r3ka backends.
  • New methods to obtain tree-decompositions of control-flow graphs improve compilation time / code-quality trade-off (when SDCC is built with support for the treedec library).
  • Additional general utility functions: qsort(), strtol(), strtoul().
  • Numerous other new features and bug fixes are included as well.

Не угадал автора по заголовку.

Deleted ()

Я не написал, вот и не было новости. Тут на лоре оно никому не интересно, чудаки предлагают использовать проприетарщину.

ramon13666 ★★★ ()
Ответ на: комментарий от ramon13666

Чудаки работают с компиляторами, не поддерживающими переключение банков памяти на 8-и битных платформах из прынципа. Не говоря уже о какчестве кодогенерации. Не нужно !

lenin386 ★★★ ()
Последнее исправление: lenin386 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.