SDCC 3.5.0 Release - roybaer/sdcc-wiki GitHub Wiki

Release schedule

Delivery Planned date Actual date
SDCC 3.5.0 RC1 2015-06-06 2015-06-09
SDCC 3.5.0 RC2 2015-06-13 2015-06-20
SDCC 3.5.0 Release 2015-06-20 2015-06-24

See the SDCC 3.5.0 Release Plan.

Tasks

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
2933889 _Bool won't work in structs spth spth QUASIDONE
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 POSTPONED
3486538 gcc-torture-execute-pr28982a fails on r2k spth POSTPONED
3540054 Compiler error with string initializer constants spth DONE
3289630 variable length arrays spth POSTPONED
3495899 CSE ignores pointer aliasing problems. spth POSTPONED
3512525 Macros in float.h spth POSTPONED
3575227 Initialized data stored twice in the output (string lit.) spth POSTPONED
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 POSTPONED
1731 More sdcdb bugs spth POSTPONED
2070 Linker uses wrong output filename spth POSTPONED
3502631 gcc-torture-execute-20030408-1 fails for auto variables on stack spth DONE
2167 Implicit zero in initialization omitted Maarten DONE
2198 Linker relocation failure extracting single byte from 24-bit address spth DONE
403 Regression testing for pic16 spth POSTPONED
214 [PIC16] strncpy doesn't follow ANSI standard (patch) DiegoHerranz spth DONE
1866 [PIC16] Global variables not initialized to 0 by default (maybe enable crt0iz as default) DiegoHerranz POSTPONED
2241 wrong code generated for a function call inside nested loops spth POSTPONED
2239 incorrect address generated for global with offset spth Ben Shi DONE
2284
  1. 2284 CVE-2012-3509 libiberty: integer overflow, leading to heap-buffer overflow by processing certain file headers via bfd binary
spth POSTPONED
2304
  1. 2304 long and float pointer - bad saving the upper two bytes
spth DONE
2306
  1. 2306 Frame pointer omission triggers code generation bug
spth DONE
2313
  1. 2313 Internal error: validateLink failed
spth Erik DONE

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.

  • Many fixes and improvements in the stm8 port
  • --disable-non-free configure option
  • z80 port fixes
  • long long fixes
  • Changed default language dialect from --std-sdcc89 to --std-sdcc99
  • Reorganized and updated manual
  • Reduced memory consumption (most noticeable for high --max-allocs-per-node)
  • Faster compilation for stm8 (most noticeable for high --max-allocs-per-node)
  • atoll() function for conversion of strings to long long
  • __z88dk_fastcall and __z88dk_callee calling conventions for more efficient function calls and better compability with z88dk
  • --lospre-unsafe-read renamed to --allow-unsafe-read
⚠️ **GitHub.com Fallback** ⚠️