GCC 9.1

Am 3. Mai fand die erste öffentliche Veröffentlichung der neunten Version von GCC: GCC 9.1 statt.
Es enthÀlt zahlreiche wesentliche Verbesserungen und ErgÀnzungen im Vergleich zur achten
Version.

Allgemeine Änderungen

Optionen
  • Befehle, die eine GrĂ¶ĂŸe akzeptieren, unterstĂŒtzen jetzt 64-Bit-Werte und Suffixe zur Angabe der GrĂ¶ĂŸe;
  • Die Option -flive-patching, um Optimierungen zu steuern, die potenziell destruktiv fĂŒr die dynamische Codeersetzung sind;
  • Die Option —completion wurde hinzugefĂŒgt, um die Auto-VervollstĂ€ndigung in der Kommandozeile zu unterstĂŒtzen;
  • Die Diagnosen des Compilers umfassen jetzt Zeilennummern (-fno-diagnostics-show-line-numbers) und
    Informationen ĂŒber Typen (fno-diagnostics-show-labels);
  • Die Option -fdiagnostics-format=json um Diagnosen im JSON-Format auszugeben;
  • Optionen zur Angabe der Ausrichtung (-falign-functions, zum Beispiel) können jetzt eine Reihe von Ausrichtungsoptionen akzeptieren;
  • Es wurden Optionen zur Filterung der Dateiliste hinzugefĂŒgt (-fprofile-filter-files, -fprofile-exclude-files), die dem Profiler zur Instrumentierung unterzogen werden;
  • AddressSanitizer verwendet jetzt eine kompaktere Ausrichtung, um ungĂŒltige Zugriffe auf Variablen im Stapel zu erkennen;
  • Zahlreiche Verbesserungen in der Ausgabe -fopt-info;
  • Die Option -fsave-optimization-record zum Speichern des Optimierungsberichts in eine Datei;
  • Die Option -fipa-stack-alignment und -fipa-reference-addressable.
Neue eingebettete Funktionen
Neues Attribut
Sonstiges

Zahlreiche Verbesserungen der Codegenerierung im Zusammenhang mit:

  • der Generierung von switch-Strukturen;
  • interproceduralen Optimierungen;
  • Optimierungen basierend auf Profildaten;
  • Optimierungen zur Compile-Zeit (LTO);

Auch das interne Format von gcov ist jetzt JSON, und die neue Option —use-hotness-colors fĂŒhrt zur FĂ€rbung von Codezeilen basierend auf der HĂ€ufigkeit ihrer Nutzung.

Sprachen

QualitÀt und VollstÀndigkeit der Implementierung OpenACC in den Sprachen C, C++ und Fortran werden weiterhin verbessert.

C-Ă€hnliche Sprachen
  • Teilweise UnterstĂŒtzung fĂŒr OpenMP 5.0 wurde implementiert;
  • Eine Funktion wurde hinzugefĂŒgt __builtin_convertvector;
  • Eine Warnung wurde hinzugefĂŒgt -Waddress-of-packed-member;
  • Verbesserungen bei einer Reihe bestehender Warnungen;
  • Der Fehlermeldung beim Übergeben einer falschen Anzahl von Argumenten an ein Makro enthĂ€lt jetzt die ErklĂ€rung des Makros selbst;
  • Verbesserungen bei VorschlĂ€gen zur Korrektur von Tippfehlern.
C
  • UnterstĂŒtzung fĂŒr _Static_assert mit einem Argument fĂŒr -std=c2x (der zukĂŒnftige C-Standard);
  • Eine neue Warnung -Wabsolute-value, die falsche Argumenttypen fĂŒr Funktionen wie abs() abfĂ€ngt.
C++
  • Neue Warnungen: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-move,
    -Wpessimizing-move,
    -Wclass-conversion;
  • Die Arbeit an der Implementierung neuer Funktionen aus dem zukĂŒnftigen Standard wird fortgesetzt. C++ 2a;
  • Das Frontend speichert jetzt genauere Informationen ĂŒber eine Reihe von Elementen des Quellcodes, was eine detailliertere Anzeige in Diagnosen ermöglicht;
  • Diagnosen fĂŒr ĂŒberladene Funktionen, binĂ€re Operatoren, Funktionsaufrufe und Formatstrings wurden verbessert;
  • Automatische Korrekturen fĂŒr eine Reihe von hĂ€ufigen Fehlern (fehlende Klammern, NamensrĂ€ume, Tippfehler usw.), die von einigen Entwicklungsumgebungen unterstĂŒtzt werden, wurden hinzugefĂŒgt.
libstdc++
  • Die Implementierung von C++17 ist nicht mehr experimentell;
  • Parallele Algorithmen wurden hinzugefĂŒgt, , , und erfordert nicht mehr -lstdc++fs;
  • Die experimentelle UnterstĂŒtzung von C++ 2a (, , std::bind_front usw.) wurde verbessert;
  • UnterstĂŒtzung fĂŒr das Öffnen von Dateien auf Windows, deren Pfade Zeichen enthalten, die ĂŒber char hinausgehen;
  • Erste UnterstĂŒtzung von unter Windows;
  • Erste UnterstĂŒtzung des Networking TS.
D

Die D-Sprache Version 2.076 ist in GCC enthalten.

Fortran
  • VollstĂ€ndige UnterstĂŒtzung fĂŒr asynchrone Ein- und Ausgabe;
  • Das Argument BACK fĂŒr MINLOC und MAXLOC wurde implementiert;
  • Die Funktionen FINDLOC und IS_CONTIGUOUS wurden implementiert;
  • Der Syntax fĂŒr den Zugriff auf die Bestandteile komplexer Zahlen wurde implementiert: c%re und c%im;
  • Der Syntax str%len und a%kind wurde implementiert;
  • C-Deskriptoren und die Headerdatei ISO_Fortran_binding.h wurden implementiert;
  • Die Anforderungen an das Ergebnis der Funktionen MAX und MIN wurden gelockert, wenn einer der Argumente NaN ist;
  • Die Option -fdec-include;
  • Direktive hinzugefĂŒgt BUILTIN.
libgccjit

Sonstiges

Eine Vielzahl architektur- und betriebssystemspezifischer Änderungen.

Quelle: linux.org.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster