SDCC 3.6.0 Release - roybaer/sdcc-wiki GitHub Wiki
| Delivery | Planned date | Actual date |
|---|---|---|
| SDCC 3.6.0 RC1 | 2016-05-29 | 2016-05-30 |
| SDCC 3.6.0 RC2 | 2016-06-05 | 2016-06-05 |
| SDCC 3.6.0 Release | 2016-06-12 | 2016-06-12 |
See the SDCC 3.6.0 Release Plan.
If you think there is a functionality that should be included or a bug that needs to be fixed in the 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 | a lot more | borutr/maarten | work in progress | |
| 2085 | mcs51/ds390 bool fails when bit type is not allowed | spth | POSTPONED | ||
| 1710546 | struct: aggregate assignment | spth | POSTPONED | ||
| 674638 | structures cannot be passed as function parameters | spth | POSTPONED | ||
| 3326880 | float classification macros | spth | POSTPONED | ||
| 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 | ||
| 3513256 | long long integer constants | spth | DONE | ||
| 3486538 | gcc-torture-execute-pr28982a fails on r2k | spth | DONE | ||
| 3289630 | variable length arrays | spth | POSTPONED | ||
| 3495899 | CSE ignores pointer aliasing problems. | spth | POSTPONED | ||
| 3512525 | Macros in float.h | spth | Ben Shi | DONE | |
| 3575227 | Initialized data stored twice in the output (string lit.) | spth | Ben Shi | DONE | |
| 3573141 | Handle static vars like global ones in initialization | spth | POSTPONED | ||
| 327 | mcs51 code in device/lib | spth | POSTPONED | ||
| 1693 | False "unreachable code" warnings when using "--nolabelopt" | spth | Ben Shi | DONE | |
| 1731 | More sdcdb bugs | spth | POSTPONED | ||
| 2070 | Linker uses wrong output filename | spth | Ben Shi | DONE | |
| 403 | Regression testing for pic16 | spth | POSTPONED | ||
| 1866 | [PIC16] Global variables not initialized to 0 by default (maybe enable crt0iz as default) | DiegoHerranz | QUASIDONE | ||
| 2241 | wrong code generated for a function call inside nested loops | spth | POSTPONED | ||
| 451 | Intermingled declarations and code | spth | POSTPONED | ||
| 165 | C99 compliance: for (int i=0; ... | spth | POSTPONED | ||
| 332 | Compound literals | spth | POSTPONED | ||
| 127 | Support for Unicode character strings | spth | spth | DONE | |
| 450 | K & R function style | spth | POSTPONED | ||
| 2425 | Compiling in C11 mode: Lack of preprocessor support | spth | spth | DONE | |
| 2405 | Missing pdf bookmarks in manual | spth | spth | DONE |
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.
- Merged upstream binutils 2.25
- Workaround for stm8 division hardware bug
- Diagnostic for missing type specifier: No implicit int outside of C90 mode anymore
- C11 generic selections
- Character constants are now of type int instead of char.
- pic16 port now uses standard-compliant crt0iz that initializes static and globals to 0 by default
- ISO C95 and ISO C11 wide character constants
- New memory management with lower overhead
- Changed default language dialect to --std-sdcc11
- ELF/DWARF support for stm8
- char is now unsigned by default (old behaviour can be restored using --fsigned-char)
- 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()
- Reorganized interrupt handling for z80, z180, r2k, r3ka, tlcs90, gbz80 backends
- Treat all ports the same in the manual (i.e. mcs51-specific stuff is now clearly described as such)
- Output symbol table for ELF