💾 Archived View for amigadu.de › af › 39620_de.gmi captured on 2022-03-01 at 15:07:27. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Originale Nachricht im Web aufrufen >
Veröffentlicht: Dienstag, 01 März 2022 - 14:01:32 (+0100)
Verfasst von: AndreasM
vbcc wurde in der Version 0.9h veröffentlicht.
Änderungen:
Neue Eigenschaften:
Der Compiler verwendet standardmäßig C99, verwenden Sie -c89, um C99-Erweiterungen zu verbieten.
Mehrere verbesserte Warnungen/Fehlermeldungen.
Die neue Option -sec-per-obj fügt alle Codefunktionen und Datenobjekte in einen eigenen Abschnitt ein, der durch die Garbage Collection des Linkerabschnitts entfernt werden kann.
Einfache Implementierung von -merge-strings.
Option -warnings-as-errors hinzugefügt.
Makros __OPTSPEED__/__OPTSIZE__ je nach Optionen definieren.
Erkenne eingebaute Funktionen mit dem Präfix __asm_.
Option -depobj hinzugefügt.
-force-statics und -prefer-statics hinzugefügt.
Neue Backends für 6502 und 6809.
Unterstützung für Zeichensatzkonvertierungen (8-Bit-Ziele).
Code-Kompressor (derzeit nur für 6502).
Bessere standardmäßige Unterstützung für nicht 8-Bit-basierte Typen.
Mehrere Verbesserungen bezüglich der Backend-Oberfläche.
m68k: definiert das Makro __SMALL_DATA__ mit der Option -sd
m68k: -vbcccall/__vbccargs hinzugefügt
vc: neue Option -rmcfg-* zum Deaktivieren von Optionen aus einer Konfigurationsdatei
vc: Frontend führt Unix-Pfadkonvertierung auch für -o durch
vclib: Neue 6502-Ziele: Atari, BBC, C64, Mega65, NES, Simulator, X16
vclib: Neue 6809-Ziele: OS-9, Simulator
vclib: __gmtoffset und __dstflag können separat überschrieben werden
vclib: strftime() unterstützt das ISO-8601-Datumsformat über %F
vclib: strtof() hinzugefügt
vclib: m68k-Amigaos basierend auf NDK 3.2
vclib: m68k-amigaos unterstützt Roadshow-Zusätze und <proto/bsdsocket.h>
vclib: m68k-amigaos fügt response.lib für ReAction-GUI-Unterstützung hinzu
vclib: m68k-amigaos UTC-Offset wird nach Möglichkeit automatisch initialisiert
vclib: m68k-amigaos-Konfigurationen verwenden standardmäßig -amiga-softfloat (inlines).
vclib: m68k-atari Small-Data-Unterstützung und -Bibliotheken
vclib: ppc-morphos-Unterstützung für (sysv,base)-ABI-Bibliotheken
vclib: ppc-amigaos an neues SDK angepasst
Leistungsverbesserungen:
Verbessertes Funktions-Inlining / modulübergreifendes Inlining.
Mehrere Verbesserungen bei der Registerzuordnung.
Verbesserte konstante Ausbreitung.
Neue Guckloch-Optimierungen.
Neue Optimierungs- und Tuning-Optionen für ständige Initialisierungen.
Verbesserte Neuberechnung von Stack-Slots.
Leicht verbesserte Eliminierung gemeinsamer Unterausdrücke.
Reichweitenoptimierungen und Induktionsvariablenverkürzung.
Kraftreduktion für konstante Linksverschiebungen zulassen.
Der Umgang mit flüchtigen Stoffen wurde verbessert.
Berechnungen zur Kompilierzeit von konstanten Zeigerwerten.
m68k: verbesserte Registerzuordnung
m68k: verbesserte Fastcall-ABI-Unterstützung
m68k: verbesserte eingebaute libcalls
m68k: Verbessertes Kopieren von (langen) Doubles im Speicher mit der FPU
m68k: Bessere Verwendung von skalierten Adressierungsmodi
m68k: Einige FPU-Code-Verbesserungen
m68k: Leistungsregression von internem memcpy behoben
vclib: überarbeitete Assembler-Inlines
Fehlerbehebung:
Viele Korrekturen im Compiler-Kern und den Backends. Danke für deine Berichte!
vclib: Schlechte assert.h in 0.9g: Es muss möglich sein, das Assert-Makro mehrfach einzubinden (mit und ohne NDEBUG definiert)
vclib: m68k-amigaos protos deklarieren Gerätebibliotheksbasen mit struct Device*.
vclib: m68k-amigaos ReAction-Klassen dürfen nicht automatisch mit auto.lib, sondern mit response.lib geöffnet werden.
vclib: m68k-amigaos fügt fehlendes InvertString() für amiga.lib hinzu
vclib: PPC 64-Bit-Modulo mit Vorzeichen behoben
vclib: mktime() behoben, tm_mday ist 1-basiert und erkennt gmtoffset
vclib: fgetpos() muss bei Erfolg 0 zurückgeben
In einem so komplexen Projekt wird es natürlich Fehler geben. Die meisten, insbesondere die schwerwiegenden, Fehlerbehebungen werden sofort als Patch verfügbar sein. Der Rest kommt mit der nächsten Veröffentlichung oder auf Anfrage des Autors.