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.