GNU Compiler Collection 9.1: Support für D, C++17 vollständig implementiert

Die neue Major-Version der GNU Compiler Collection hat massig Neuerungen im Gepäck, inklusive der Unterstützung der Programmiersprache D.

In Pocket speichern vorlesen Druckansicht 25 Kommentare lesen
GNU Compiler Collection 9.1: Support für D, C++17 vollständig implementiert
Lesezeit: 2 Min.
Von
  • Björn Bohn

Das erste stabile Release der 9er-Serie der GNU Compiler Collection (GCC) ist mit Version 9.1 erschienen. Die Liste der Änderungen für das neue Major Release ist lang: GCC bietet unter anderem nun Support für Teile der Version 5.0 der OpenMP-Spezifikation, C++17 gilt nicht mehr als experimentell, und ein Frontend für die Programmiersprache D hat es ebenfalls in das Update geschafft.

Wie bereits zum Ende der Feature-Phase bekanntgegeben, hat die Programmiersprache D es rund zwei Jahre nach dem ersten Vorschlag des GCC-Komitees in die Sammlung geschafft. Walter Bright entwickelte die objektorientierte und imperative Programmiersprache D seit 1999. Im Jahr 2007 erschien Version 1.0. Von Juni 2007 bis Ende 2010 arbeiteten die Entwickler an Version 2, die unter anderem Closures und pure-Funktionen enthält. Die GNU Compiler Collection implementiert Version 2.076 der Programmiersprache.

Die OpenMP-5.0-Spezifikation hat es zumindest teilweise in die neue Version der GCC geschafft. Laut einem Beitrag der Mailingliste liegt das vor allem daran, dass OpenMP 5.0 weitaus größer als bisherige Releases des Standards sei. Der Beitrag bietet ebenso eine vollständige Liste der übertragenen Features, zu denen unter anderem Task Reductions und !=-Konditionen in OpenMP-Loops zählen.

Für C-Entwickler gibt es darüber hinaus experimentellen Support für -std=c2x, also für die vorgesehene C2X-Revision des ISO-C-Standards. Da er sich aber laut dem GNU-Team noch im Anfangsstadium befindet, unterstützt GCC 9 bislang als einziges Feature _Static_assert mit einem einzelnen Argument.

Das C++-Frontend bietet hingegen experimentelle Unterstützung für die C++2a-Draft-Features mit den Flags -std=c++2a und -std=gnu++2a. Im Detail zählen dazu unter anderem Lambdas in nicht-evaluierten Kontexten, Sprach-Support für leere Data Member und Class Types in non-type Template-Parametern. Eine vollständige Liste findet sich auf der C++-Statusseite.

Wer mehr über das neue Release der GNU Compiler Collection inklusive einer Liste der unterstützten Plattformen erfahren möchte, wird im Changelog fündig. Zum Download steht es auf den GNU-Servern bereit. (bbo)