SDCC 3.2.0 Release
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|
|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|
|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.
- --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 critical</tt>; PIC14 <tt>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).