Forum: Compiler & IDEs SDCC 4.6.0 Release Candidate 1


von Philipp Klaus K. (pkk)


Lesenswert?

Seit heute gibt es SDCC 4.6.0 RC1. Quellcode,  Dokumentation, und 
Binärdateien für Windows, macOS und GNU/Linux,  eweils auf amd64 finden 
sich am üblichen
Ort, in den entsprechenden Verzeichnissen:

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

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

Abgesehen von Bugfixes sind die bedeutendsten neuen Features seit SDCC 
4.5.0:

* C2y _Countof operator
* C2y octal
* C2y if-declaration
* C2y Conditional operator with omitted second operand (originally a GNU 
extension)
* C99 compound literals
* C23 compound literals with storage class specifiers
* Experimental f8l port
* C2y signed bit-precise integer type of width 1
* C2y bit-precise integer types as fixed underlying type for enum
* C2y umaxabs
* C2y bit utilities
* realloc(ptr, 0) now follows C99 semantics instead of C90 semantics
* r4k port for Rabbit 4000
* Experimental r5k and r6k ports for Rabbit 5000 and 6000
* Support for Dynamic C calling convention in z80-related ports
* Substantially improved code generation for z80-related ports
* ez80 port replaces ez80_z80 port
* C2y functions uabs, ulabs, ullabs
* Improved diagnostics on invalid C2y (some of which was UB up to C23)
* C23 constexpr (mostly)
* C2y containerof macro
* Diagnostics based on [static assignment-expression] array parameter 
syntax
* Warnings for array parameters where accesses fall outside the bounds
* Basic parameter forward declarations (GNU extension)
* C23 va_start and variadic functions
* _Optional qualifier
* Plain int bit-fields are signed
* strsep
* TLCS-870C(1) support in uCsim
* __far support in Rabbit ports for using a 1 MB address space for data

Philipp
(SDCC 4.6.0 release manager)
von Rick (rick)


Lesenswert?

Wofür steht C2y?
von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

1. google hit für c2y...

https://en.wikipedia.org/wiki/C29_(C_standard_revision)

> C29 is the upcoming revision of the C programming language after C23 that is 
planned for release in late 2029,[1] informally named C2Y.


73
: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Das ist ein noch in Arbeit befindlicher C-Standard.

https://en.wikipedia.org/wiki/C29_(C_standard_revision)

--

Ah, Hans war schneller.
: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Philipp Klaus K. schrieb:
> eweils auf amd64

Nur als Hinweis: für MacOS ist das eine aussterbende Spezies.  Da wären 
Binaries für "Apple Silicon" (die ARM-CPUs) mittlerweile sinnvoller.
von Harald K. (kirnbichler)


Lesenswert?

Jörg W. schrieb:
> für MacOS ist das eine aussterbende Spezies

Noch gibt es x86-Macs. "Apple Silicon" kann x86_64-Code ausführen, 
andersrum gehts nicht.

Wer so ein Binary nur noch als Apple-Arm rausgibt, verärgert also alle 
Leute, die ältere Macs verwenden - der letzte x86_64-Mac wurde erst ab 
Anfang 2020 verkauft, und der war so derartig teuer, daß ihn etliche 
Leute noch nicht verschrottet haben dürften -- das war der Mac Pro. Der 
seit langem einzige Mac, bei dem der Benutzer selbst nachträglich noch 
entscheiden durfte, wieviel RAM drinsteckt ...

Man muss also nicht ohne Not funktionierende Systeme aufs Abstellgleis 
schieben. Und nein, Linux ist da durchaus gar keine Alternative.
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ich wollte da keine Grundsatzdiskussion entfachen, es kann sich ja 
ohnehin jeder selbst seine Binaries zusammenzimmern.  Der SDCC ist 
sowohl bei den Macports als auch bei Homebrew dabei.  So gesehen müsste 
man für den Mac auch gar keine Binaries bereitstellen. ;-)

Nichtsdestotrotz ist halt amd64 dort aussterbend.
von Frank K. (fchk)


Lesenswert?

Harald K. schrieb:
> Jörg W. schrieb:
>> für MacOS ist das eine aussterbende Spezies
>
> Noch gibt es x86-Macs. "Apple Silicon" kann x86_64-Code ausführen,
> andersrum gehts nicht.

Noch. Irgendwann demnächst wird das Rosetta 2 wieder rausfliegen, 
genauso wie Rosetta 1 bei der PPC-Intel Umstellung auch nur eine 
begrenzte Zeit dabei war (10.4 bis 10.6). Ist eben ein Sprungbrett und 
kein Ruhekissen.

> Wer so ein Binary nur noch als Apple-Arm rausgibt, verärgert also alle
> Leute, die ältere Macs verwenden.

Das muss auch nicht sein - Fat Binaries gibts auch schon länger.

fchk
: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frank K. schrieb:
> Fat Binaries gibts auch schon länger.

Deren Erzeugung würde ich jetzt aber dem Maintainer einer OSS nicht 
aufbürden wollen. Wie schon geschrieben, SDCC ist sowohl bei Macports 
als auch Homebrew drin, damit kann sich das jeder problemlos selbst 
zimmern.
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.