Forum: Compiler & IDEs SDCC 4.5.0 Release Candidate 1


von Philipp Klaus K. (pkk)


Lesenswert?

Heute erschien der Release Candidate 1 für SDCC 4.5.0. Quellcode, 
Dokumentation, und Binärdateien für Windows, macOS und GNU/Linux, 
jeweils auf amd64 (für Windows auch für x86) finden sich am üblichen 
Ort, in den entsprechenden Verzeichnissen:
https://sourceforge.net/projects/sdcc/files/

Seit 4.4.0 gab es in erster Linie viele Bugfixes, dazu ein paar neue 
Features:

* Full atomic_flag support for msc51 and ds390 ports.
* Experimental f8 port.
* ISO C2y case range expressions.
* ISO C2y _Generic selection expression with a type operand
* K&R-style function syntax (preliminarily with the semantics of non-K&R 
ISO-style functions)
* ISO C23 enums with user-specified underlying type
* struct / union in initializers

Das umfassende ChangeLog findet sich unter:
https://sourceforge.net/p/sdcc/code/HEAD/tree/tags/sdcc-4.5.0-rc1/sdcc/ChangeLog

Philipp
(SDCC 4.5.0 Release Manager)

von Philipp Klaus K. (pkk)


Lesenswert?

Seit heute haben wie einen Release Candidate 2; gegenüber RC1 wurden 7 
Probleme behoben.

Wer die Zeit dazu hat, möge RC2 testen, und seiner Erfahrungen 
berichten.

von Philipp Klaus K. (pkk)


Lesenswert?

Seit heute gibt es SDCC 4.5.0 (zwischenzeitlich gab es noch SDCC 4.5.0 
RC3, mit nochmals einigen Bugfixes, hauptsächlich in der Dokumentation):

https://sourceforge.net/projects/sdcc/files/

P.S.: Persönlich gehe ich davon aus, dass SDCC 4.5.0 der stabilste und 
zuverlässigste SDCC von SDCC 4.1.0 bis 4.7.0 ist.

von Harald K. (kirnbichler)


Lesenswert?

Philipp Klaus K. schrieb:
> Persönlich gehe ich davon aus, dass SDCC 4.5.0 der stabilste und
> zuverlässigste SDCC von SDCC 4.1.0 bis 4.7.0 ist.

Du gehst also davon aus, daß Nachfolger von 4.5.0 wieder instabiler 
werden?

von Philipp Klaus K. (pkk)


Lesenswert?

Harald K. schrieb:
> Du gehst also davon aus, daß Nachfolger von 4.5.0 wieder instabiler
> werden?

Ja. Natürlich bauen wir keine Fehler absichtlich ein, und wir haben sehr 
umfangreiche Tests, aber bei jeder Änderung gibt es ein Risiko, und 
echte Nutzer finden Fehler, die die Tests nicht fanden.

SDCC 4.5.0 enthielt wirklich viel Bugfixes (die Anzahl der Commits war 
ähnlich wie bei vorigen Releases, aber diesmal waren fast alles 
Bugfixes). Die wenigen neuen Features waren relativ kleine, isolierte 
Änderungen mit geringem Risiko, dabei etwas anderes zu beschädigen.

Ich habe eine grobe Idee davon, was die anderen SDCC-Entwickler und ich 
dieses und nächstes Jahr vor haben. Um die C23-Unterstützung zu 
vervollständigen, sind Änderungen im Präprozessor, Frontend, der 
Standardbibliothek nötig, sowie kleinere Änderungen in manchen Backends. 
Um den Code von SDCC selbst C23-kompatibel zu machen sind Änderungen an 
den binutils, Assembler und Linker nötig. Geplante Linktime Optimization 
erfordert Änderungen im Linker. Bessere Unterstützung für Rabbit 4000, 
5000 und 6000 erfordert Änderungen im Assembler, und im z80-Backend (das 
auch wegen der vorgesehenen besseren eZ80-Unterstützung Änderungen 
erfährt). Zur Unterstützung von atomics müssen eingentlich alle Teile 
des Compilers, vom Frontend über die Maschinenunabhängigen Optimierungen 
bis zu den Backends angefasst werden. Zur verbesserten Unterstützung von 
Debugging sind größere Änderungen an der DWARF-Unterstützung nötig. Um 
den Speicherbedarf zu senken, sollen lokale Variablen, die nicht in 
Registern liegen, für viele Ports anders allokiert werden. Und dann soll 
auch noch der mcs51-Port einen neuen Registerallokator und neue 
Codegenerierung bekommen, um bei der Größe und Geschwindigkeit des 
generierten Codes mit Keil mithalten zu können. Wenn die vorgesehen 
PDK16-Unterstützung kommt, gibt es auch beim Padauk-Port noch einige 
Änderungen. Ebenso mit f8l-Unterstützung beim f8-Port.

Insgesamt würde es somit in nahezu jedem Teil von SDCC bedeutende 
Änderungen geben. Und damit leider auch neue Bugs.

von Oliver S. (oliverso)


Lesenswert?

Philipp Klaus K. schrieb:
> Ich habe eine grobe Idee davon, was die anderen SDCC-Entwickler und ich
> dieses und nächstes Jahr vor haben. Um die C23-Unterstützung zu
> vervollständigen, sind Änderungen …
> …
> Wenn die vorgesehen
> PDK16-Unterstützung kommt, gibt es auch beim Padauk-Port noch einige
> Änderungen. Ebenso mit f8l-Unterstützung beim f8-Port.

Wenn’s nicht mehr ist. Was macht ihr denn dann ab Februar?

Oliver

: Bearbeitet durch User
von Philipp Klaus K. (pkk)


Lesenswert?

Oliver S. schrieb:
>
> Wenn’s nicht mehr ist. Was macht ihr denn dann ab Februar?

Externe Beiträge reviewen. Z.B. die erwarteten neuen alp14- und 
alp15-Ports.

Philipp

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.