Delivery | Planned date | Actual date |
---|---|---|
SDCC 4.5.0 RC1 | ||
SDCC 4.5.0 Release |
See the [SDCC 4.5.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 https://sourceforge.net/p/sdcc/feature-requests/ or Bugs at https://sourceforge.net/p/sdcc/bugs/ 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 |
---|---|---|---|---|---|
[feature-requests:#279] | Accessing the stack | spth | work in progress | ||
[Assemblers and Linkers] | sdas merge with asxxxx 5.0 | borutr | a lot more | maarten, basxto, (borutr) | work in progress |
[feature-requests:#324] | float classification macros | spth | |||
[feature-requests:#380] | Handle static vars like global ones in initialization | spth | |||
[feature-requests:#327] | mcs51 code in device/lib | spth | |||
[feature-requests:#332] | Compound literals | spth | |||
[feature-requests:#403] | Regression testing for pic16 | spth | |||
[feature-requests:#450] | K & R function style | spth | |||
[feature-requests:#531] | Algebraic optimization on masked xor | spth | |||
[feature-requests:#530] | Narrowing loop counters | spth | work in progress | ||
[feature-requests:#543] | Leaner source: Remove pic14/pic16 autogenerated header and lib from source tree | spth | |||
[feature-requests:#253] | Register parameter passing | spth | spth | work in progress | |
[bugs:#2700] | Debug info for local variables that live in multiple iTemps | spth | |||
[bugs:#2701] | dwarf debugging: local variables has wrong scope | spth | |||
[bugs:#2733] | False "overflow in implicit constant conversion" warning | spth | |||
[bugs:#2906] | static local variables problem | spth | |||
[bugs:#3303] | Wrong paths in the generated elf file | roybaer | roybaer | work in progress | |
[bugs:#3491] | Fresh build with --disable-sdbinutils will fail | spth | |||
[bugs:#3555] | sdbinutils install doesn't respect prefix | spth | |||
[bugs:#3765] | zdasz80 wrong compilation CP and LD commands | spth | |||
[feature-requests:#937] | Code size regression due to recent type bugfix | spth | |||
[bugs:#3770] | GCC 14 / clang 19: lots of host regression test failures | spth | @spth | DONE | |
[bugs:#3714] | SDCC 4.4.0 on Windows: Sdar tool crashes because of missing DLLs | spth | |||
[bugs:#3686] | Snapshot doesn't run, misses DLLs | spth | |||
[bugs:#3616] | Error for sdcc calling sdcpp/etc on WIndows non-C drives with path spaces | spth | |||
[bugs:#3610] | Windows specific 32-bit sdar failure with modified CSEG | spth | |||
[feature-requests:#567] | Eliminate unused string literals | spth | @spth | DONE | |
[bugs:#3788] | Incorrect optimization in bitfields / union combination | spth |
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.
Bugs: #2700
Bugs: #2701
Bugs: #2733
Bugs: #2906
Bugs: #3303
Bugs: #3491
Bugs: #3555
Bugs: #3610
Bugs: #3616
Bugs: #3686
Bugs: #3714
Bugs: #3765
Bugs: #3770
Bugs: #3788
Feature Requests: #253
Feature Requests: #279
Feature Requests: #324
Feature Requests: #327
Feature Requests: #332
Feature Requests: #380
Feature Requests: #403
Feature Requests: #450
Feature Requests: #530
Feature Requests: #531
Feature Requests: #543
Feature Requests: #567
Feature Requests: #937
Wiki: Assemblers and Linkers
Wiki: Home
Request ID: #913 Inefficient assignment between int/long/pointer/union/struct
Request ID: #914 Allow isaddr flag not just for POINTER_SET?
Summary:The compiler does not copy efficiently pointers, int or long. It does not use LDI or other instructions with indirect addressing mode. Passing the flag "isaddr" in later stages of the code generation would allow the use of the Z80 instructions with indirect addressing mode like LDI, LDD, add a, (hl), and a,(hl), sub a,(IX+n) ecc ecc.
Proposed by: Arturo Ragozini
Time: n.a.
Developer: Philipp Klaus Krause
Status:n.a.
Last edit: Ragozini Arturo 2024-07-09
Such feature feel more like "nice to have", than necessary for 4.5.0. My personal idea for 4.5.0 is for it to be mostly a better 4.4.0: fix bugs found in 4.4.0, and try to avoid regressions. In general, IMO, 4.4.0 was already a good release wrt. bugs, but we've had a few annoying Windows-specific issues, and half our user base in on Windows. That isaddr flag bit looks like it would be too much for me before 4.5.0.
ok, it is a more advanced feature for a release aimed to bug fixing... maybe in the next version
Anyway you could give a glance to my tickets about 16 bit shift/ rotations
it should improve the code for math
Another area where the code generation can improve a lot is the use of push/pop instead of using the (ix) to access to the stack
Request ID: #198
Summary: Add symbols to know at link time the segment number of a label in banked Roms
Proposed by: Arturo Ragozini
Time: n.a.
Developer: Philipp Klaus Krause
Status:n.a.