Programmieren: GCC Version 13.1 spricht SARIF bei der statischen Codeanalyse

Das neue GCC-Release kann Diagnosedaten auch im OASIS-Standardaustauschformat SARIF bereitstellen. Ein neues Modula-2-Frontend schafft die Basis für Rust.

In Pocket speichern vorlesen Druckansicht 8 Kommentare lesen
Lesezeit: 2 Min.

Die GNU Compiler Collection (GCC) liegt in Version 13.1 vor. Für die von Werkzeugen zur statischen Codeanalyse ausgegebenen Ergebnisse stellt das neue Major Release das Static Analysis Results Interchange Format (SARIF) parat. Ein bisher noch separat zur Verfügung stehendes Frontend für die Programmiersprache Modula-2 wurde nun integriert. Nach Einschätzung der GCC-Entwickler soll es die Basis schaffen für ein Rust-Frontend, dessen Veröffentlichung laut Ankündigung für eines der nächsten Releases geplant sei.

Das zum OASIS-Standard konforme Austauschformat SARIF steht Entwicklerinnen und Entwicklern ab GCC 13.1 für das Erfassen der Ergebnisse statischer Analysewerkzeuge zur Verfügung, wie sie unter anderem GCCs -fanalyzer bei der Analyse von C-Code liefert. Das auf JSON basierende Format lässt sich aber auch nutzen, um anderweitige Warnungen und Fehlermeldungen in der GNU Compiler Collection in maschinenlesbarer Form weiterzuverarbeiten. Dazu stehen beispielsweise die beiden neuen Optionen -fdiagnostics-format=sarif-stderr und -fdiagnostics-format=sarif-file bereit.

Wie bereits zur Veröffentlichung von GCC 12.1 angekündigt, nimmt die GNU Compiler Collection endgültig Abschied vom Debugging-Format STABS. Neben dem neu eingeführten Compact Type Format (CTF) stellt GCC die etablierte Alternative DWARF nun offenbar in nahezu allen Konfigurationen vollumfänglich bereit. Nach dem Wegfall von STABS müssen Entwicklerinnen und Entwickler künftig sowohl auf die Optionen -gstabs and -gxcoff verzichten, als auch auf den Debugger dbx, für den GCC keinen offiziellen Support mehr bietet.

Für die auf Shared-Memory-Programmierung ausgelegte Schnittstelle OpenMP (Open Multi-Processing) in Version 5.1 hat GCC die Liste der verfügbaren Funktionen erweitert – darunter beispielsweise der Locator omp_all_memory, inoutset für die depend[/code)-Bedingung sowie [code]nowait für die taskwait-Richtlinie. Darüber hinaus stehen Entwicklerinnen und Entwicklern auch erste Features aus OpenMP 5.2 parat, wie etwa die Bedingungen firstprivate und allocate für den scope-Construct.

Weitere Informationen zu GCC 13.1 lassen sich der Ankündigung über die GCC-Mailingliste entnehmen, einen kompletten Überblick aller Änderungen bieten die Change Notes. Interessierte können die neue GCC-Version bei Sourceware sowie über die Mirror-Seiten auf den GNU-Servern direkt herunterladen.

(map)