SDCC 3.2.0 Release - roybaer/sdcc-wiki GitHub Wiki

SDCC 3.2.0 Release schedule

Delivery Planned date Actual date
SDCC 3.2.0 RC1 2012-06-17 2012-06-17
SDCC 3.2.0 RC2 2012-07-01 2012-06-24
SDCC 3.2.0 RC3 Not planned 2012-06-29
SDCC 3.2.0 RC4 Not planned 2012-07-06
SDCC 3.2.0 Release 2012-07-08 2012-07-09

See the SDCC 3.2.0 Release Plan.

SDCC 3.2.0 Tasks

If you think there is a functionality that should be included or a bug that needs to be fixed in the SDCC 3.2.0 release, please submit it to the Feature Requests at http://sourceforge.net/tracker/?group_id=599&atid=350599 or Bugs at http://sourceforge.net/tracker/?group_id=599&atid=100599 and copy Request ID and Summary fields to the following table, where:

Request ID: Request ID from Feature Requests or Bugs
Summary: Summary from Feature Requests or Bugs
Proposed by: Who proposed the feature or bug fix
Time: Estimate of the implementation time
Developer: Who will implement the feature or bug fix
Status: Current status


Request ID Summary Proposed by Time Developer Status
2870755 Accessing the stack spth POSTPONED
sdas merge with asxxxx 5.0 borutr quite some borutr POSTPONED
review and merge support for cs08 target by Gary Osborn borutr spth DONE
2933889 _Bool won't work in structs spth spth QUASIDONE
2934292 Arrays of function pointers to functions returning bool spth spth, maarten DONE
2942343 Initialization of non-constant arrays broken. spth maarten done
1710546 struct: aggregate assignment spth POSTPONED
674638 structures cannot be passed as function parameters spth POSTPONED
3073647 Initializers for objects that have static storage duration spth spth DONE
3400613 Performance and code size regression spth spth POSTPONED
3403429 Broken loop optimization spth epetrich DONE
3438706 Warning and errors for casts in parameter passing broken spth epetrich DONE
3440327 wrong code for pointer to functions in a loop, z80 port spth spth DONE
3326880 float classification macros spth POSTPONED
3441816 Old ralloc passes wrong value to callee spth spth DONE
3107914 Wrong assignment of variable with same name in blocks spth epetrich DONE
3463343 strncpy() / memcmp() problem spth epetrich DONE
3473062 Wrong struct member passed as function argument. spth epetrich DONE
3475656 MSVC-style itoa function compiled wrong spth spth DONE
3482753 No code is generated for struct access on different ports spth epetrich DONE
3487025 Pointer coparison uses signed math spth epetrich DONE
3486540 gcc-torture-execute-pr38212 fails spth POSTPONED
3486535 gcc-torture-execute-pr20466-1 fails spth POSTPONED
3502632 gcc-torture-execute-20010224-1 fails for z80-related spth POSTPONED
3502631 gcc-torture-execute-20030408-1 fails for auto variables on s spth POSTPONED
3513256 long long integer constants spth POSTPONED
3486538 gcc-torture-execute-pr28982a fails on r2k spth POSTPONED
3527285 Variable allocated to registers is damaged. spth epetrich DONE
3531687 Comparisons between bool and char broken spth POSTPONED

SDCC 3.2.0 Feature List

There is always a problem to create a list of new features when a new SDCC release is announced. The following list is an attempt to create such a list "on the fly". Every time a new feature which is visible or interesting for the SDCC users is implemented, it should be added to the following list.

  • Named address spaces with optimal placement of bank selection calls.
  • _Noreturn.
  • --std-c11 command line option for ISO C11.
  • ucsim support for the LR35902 (gameboy CPU).
  • The gbz80 port is alive again, there were many bug fixes and the generated code is much better now.
  • Pic 14 enhanced core libraries are included in sdcc builds by default
  • Added pic 14 enhanced core devices: 16f1503, 16f1508, 16f1509, 16f1516, 16f1517, 16f1518, 16f1519, 16f1526, 16f1527, 16f1946, 16f1947
  • PIC14/PIC16: Implemented <u>critical; PIC14 </u>critical function cannot have arguments for now, though
  • inclusion of some tests from the gcc test suite into the sdcc regression test suite led to many bugs being found and fixed.
  • Many macros with previously non-standard-compliant names have been renamed (SDCC_REVISION to __SDCC_REVISION, etc).
  • setjmp() / longjmp() for the z180 and r2k ports.
  • Added sdar archive managing utility. sdar and sdranlib are derived from GNU binutils package
  • Added support for pic 14 core devices: 16f720, 16f721, 16f882, 16f883, 16f884, 16f747, 16f946
  • sdcpp synchronized with GNU cpp 4.6.3
  • Added support for pic 18f1230/18f1330 device family
  • Implemented #pragma config for pic16 target
  • sdcc now works on Debian GNU/Hurd.
  • New register allocator for the hc08 port, resulting in better code being generated.
  • New s08 port.
  • New r3ka port.
  • Many small improvements in the z80, hc08 and r2k code generation, reducing code size.
  • Shift, multiplication, division and returning of long long are now supported (modulo for long long is still missing, integer literals of type long long are broken).
⚠️ **GitHub.com Fallback** ⚠️