Login
Newsletter
Werbung

Fr, 8. Mai 2020, 10:49

Software::Entwicklung

GCC 10 freigegeben

Die GNU Compiler Collection GCC ist in Version 10 erschienen. In dieser Version gibt es verbesserte Unterstützung des C++20-Standards, verbesserter statischer Code-Analyse und Optimierung sowie vielen weiteren Neuerungen.

gnu.org

GCC 10 erscheint genau im Zeitplan ein Jahr nach GCC 9. Wie immer seit einigen Jahren wird mit der Unterversionsnummer 1 statt 0 begonnen, so dass jetzt genau genommen GCC 10.1 vorliegt. Die Neuerungen gegenüber GCC 9 umfassen neue eingebaute Funktionen wie __builtin_roundeven, neue Kommandozeilenoptionen zur Steuerung der Compilierung sowie verbesserte Optimierung während der Compilierung, des Linkens und mit Hilfe von Profilen.

Die bedeutendste neue Option ist wahrscheinlich -fanalyzer, mit der die neu hinzugekommene statische Code-Analyse eingeschaltet wird. Ihre genaue Funktionsweise wird über zahlreiche weitere Optionen gesteuert. Statische Code-Analyse ist eine Analyse des Quellcodes, die fragwürdige Stellen finden soll. Während die Compiler Syntaxfehler, Konstrukte mit undefiniertem Verhalten und unsauberen Code finden können, geht eine statische Code-Analyse noch darüber hinaus und sucht nach Stellen, die erfahrungsgemäß oft falsch sind, findet Probleme mit der Speicherverwaltung und anderes mehr. Die Analyse wird statisch genannt, weil sie den Code nur betrachtet, aber nicht ausführt. Da die Analyse deutlich mehr Zeit benötigt als eine normale Compilierung, schaltet man sie normalerweise nur ein, wenn man sie braucht.

GCC unterstützt jetzt Version 2.6 von OpenACC und neue Funktionen, die zu OpenMP 5.0 hinzukamen. Noch wird aber nicht der volle Umfang von OpenMP 5.0 erreicht. Ferner kann man nun mit OpenMP und OpenACC die Berechnungen auf AMD Radeon (GCN) GPUs abwälzen, wobei aber nur die Fiji-Generation und VEGA 10/VEGA 20 unterstützt werden.

Für alle C-verwandten Sprachen bietet GCC 10.1 das neue Attribut access für Funktionen und Typen. Die Compilerwarnungen wurden erweitert. Bezeichner dürfen bereits seit einiger Zeit Zeichen enthalten, die über ASCII hinausgehen. Nun können diese Zeichen auch direkt statt in der UCN-Ssyntax (\uNNNN oder \UNNNNNNNN) geschrieben werden.

Der C-Compiler kennt jetzt bereits einige Konstrukte, die in den kommenden C2X-Standard einfließen werden. Die Option -fno-common wurde standardmäßig eingeschaltet, was den Zugriff auf globale Variablen effizienter macht. Der C++-Compiler erhielt neue Funktionalität aus C++20 und weitere Verbesserungen. Auch der Fortran-Compiler erhielt einige Verbesserungen. Eine große Zahl von Erweiterungen floss in die verschiedenen Architekturen ein, wobei nur die wenigsten davon x86 betreffen. Hier gab es vor allem Unterstützung für optimierte Instruktionen für Intel Cooperlake- und Tigerlake-CPUs. Alle Details zur neuen Version sind im Änderungs-Dokument zusammengestellt.

Werbung
Kommentare (Insgesamt: 7 || Alle anzeigen )
Re: Fedora (Verfluchtnochmal_5987108, Fr, 15. Mai 2020)
Fedora (dodona, Mi, 13. Mai 2020)
Re[3]: gcc 10 ist genial (blubber, Di, 12. Mai 2020)
Re[2]: gcc 10 ist genial (Josef Hahn xh, So, 10. Mai 2020)
Re[2]: gcc 10 ist genial (jaja, Sa, 9. Mai 2020)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung