{"id":103971,"date":"2022-05-06T15:36:45","date_gmt":"2022-05-06T13:36:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-nabora-kompilyatorov-gcc-12"},"modified":"2022-05-06T15:36:45","modified_gmt":"2022-05-06T13:36:45","slug":"reliz-nabora-kompilyatorov-gcc-12","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/reliz-nabora-kompilyatorov-gcc-12","title":{"rendered":"Ver\u00f6ffentlichung des Compiler-Pakets GCC 12","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nach einem Jahr der Entwicklung wurde die Ver\u00f6ffentlichung des freien Compiler-Sets GCC 12.1 angek\u00fcndigt, der erste bedeutende Release der neuen GCC 12.x Reihe. Gem\u00e4\u00df dem neuen Versionsschema wurde Version 12.0 w\u00e4hrend der Entwicklungsphase verwendet, und kurz vor der Ver\u00f6ffentlichung von GCC 12.1 wurde bereits der Branch GCC 13.0 abgezweigt, auf dessen Grundlage die n\u00e4chste bedeutende Ver\u00f6ffentlichung, GCC 13.1, entstehen wird. Am 23. Mai feiert das Projekt 35 Jahre seit der Ver\u00f6ffentlichung des ersten GCC-Releases.      <\/p>\n<p>Wesentliche \u00c4nderungen:  <\/p>\n<ul>\n<li class=\"l\"> Die Unterst\u00fctzung des Debugging-Formats CTF (Compact Type Format) wurde hinzugef\u00fcgt, das eine kompakte Speicherung der Informationen \u00fcber C-Typen, die Beziehungen zwischen Funktionen und Debugging-Symbole erm\u00f6glicht. Bei der Einbettung in ELF-Objekte erlaubt das Format die Verwendung von EFL-Symboltabellen, um Datenverdopplungen zu vermeiden.\n<li class=\"l\"> Die Unterst\u00fctzung des Speichermediumformats f\u00fcr Debugging-Informationen \u201eSTABS\u201c, das in den 1980er Jahren entwickelt wurde, wurde als veraltet erkl\u00e4rt.\n<li class=\"l\"> Die Arbeit an der Erweiterung der Unterst\u00fctzung zuk\u00fcnftiger Standards wie C2X und C++23 f\u00fcr die Programmiersprachen C und C++ wurde fortgesetzt. Beispielsweise wurde die Unterst\u00fctzung f\u00fcr die Ausdrucksform \u201eif consteval\u201c hinzugef\u00fcgt; die Verwendung von auto in Funktionsargumenten (z. B. \u201ef(auto(g()))\u201c) ist nun erlaubt; die Verwendung von nicht-literalen Variablen, goto und Labels in als constexpr deklarierten Funktionen ist gestattet; mehrdimensionale Indexoperatoren operator[] werden unterst\u00fctzt; in if-, for- und switch-Anweisungen wurden die M\u00f6glichkeiten der Initialisierungsbl\u00f6cke erweitert (z. B. \u201efor (using T = int; T e : v)\u201c).\n<li class=\"l\"> In der Standardbibliothek von C++ wurde die Unterst\u00fctzung f\u00fcr experimentelle Abschnitte der Standards C++20 und C++23 verbessert. Unterst\u00fctzung f\u00fcr std::move_only_function, , std::basic_string::resize_and_overwrite, ,  und std::invoke_r hinzugef\u00fcgt. Die Verwendung von std::unique_ptr, std::vector, std::basic_string, std::optional und std::variant in constexpr-Funktionen ist jetzt erlaubt.\n<li class=\"l\"> F\u00fcr die Programmiersprache Fortran wurde im Frontend vollst\u00e4ndige Unterst\u00fctzung f\u00fcr die Spezifikation TS 29113 bereitgestellt, die M\u00f6glichkeiten zur Gew\u00e4hrleistung der Portabilit\u00e4t zwischen Fortran- und C-Code beschreibt.\n<li class=\"l\"> Die Unterst\u00fctzung f\u00fcr die Erweiterung __builtin_shufflevector(vec1, vec2, index1, index2, \u2026) wurde hinzugef\u00fcgt, die zuvor in Clang eingef\u00fchrt wurde und einen einheitlichen Aufruf f\u00fcr g\u00e4ngige Vektoroperationen zum Permutieren und Mischen bietet.\n<li class=\"l\"> Bei Verwendung des Optimierungsniveaus \u201e-O2\u201c ist standardm\u00e4\u00dfig die Anwendung der Vektorisierung aktiviert (die Modi -ftree-vectorize und -fvect-cost-model=very-cheap sind aktiviert). Das Modell \u201every-cheap\u201c erlaubt die Vektorisierung nur, wenn der Vektorkode den zu vektorisierenden Skalarkode vollst\u00e4ndig ersetzen kann.\n<li class=\"l\"> Der Modus &#171;-ftrivial-auto-var-init&#187; wurde hinzugef\u00fcgt, der eine explizite Initialisierung von Variablen im Stack erm\u00f6glicht, um Probleme zu verfolgen und Schwachstellen im Zusammenhang mit der Verwendung von nicht initialisierten Variablen zu blockieren.\n<li class=\"l\"> F\u00fcr die Sprachen C und C++ wurde die eingebaute Funktion __builtin_dynamic_object_size hinzugef\u00fcgt, um die Gr\u00f6\u00dfe eines Objekts zu bestimmen, die mit einer \u00e4hnlichen Funktion von Clang kompatibel ist.\n<li class=\"l\"> F\u00fcr die Sprachen C und C++ wurde die Unterst\u00fctzung f\u00fcr das Attribut &#171;unavailable&#187; hinzugef\u00fcgt (zum Beispiel k\u00f6nnen Funktionen gekennzeichnet werden, bei deren Verwendung ein Fehler angezeigt wird).\n<li class=\"l\"> F\u00fcr die Sprachen C und C++ wurde die Unterst\u00fctzung f\u00fcr die Pr\u00e4prozessor-Direktiven &#171;#elifdef&#187; und &#171;#elifndef&#187; hinzugef\u00fcgt.\n<li class=\"l\"> Das Flag &#171;-Wbidi-chars&#187; wurde hinzugef\u00fcgt, um eine Warnung auszugeben, wenn UTF-8-Zeichen inkorrekt verwendet werden, die die Anzeigereihenfolge von bidirektionalem Text \u00e4ndern.\n<li class=\"l\"> Das Flag &#171;-Warray-compare&#187; wurde hinzugef\u00fcgt, um eine Warnung auszugeben, wenn versucht wird, zwei Operanden, die auf Arrays verweisen, zu vergleichen.\n<li class=\"l\"> Die Implementierung der OpenMP 5.0 und 5.1 Standards (Open Multi-Processing) wurde fortgesetzt, die APIs und Methoden f\u00fcr die Anwendung paralleler Programmierung auf Multi-Core- und Hybridprozessoren (CPU+GPU\/DSP) mit gemeinsamem Speicher und Vektorisierungsbl\u00f6cken (SIMD) definieren.\n<li class=\"l\"> Die Implementierung der OpenACC 2.6-Spezifikation f\u00fcr parallele Programmierung wurde verbessert, die Mittel f\u00fcr das Auslagern von Operationen (offloading) auf GPUs und spezialisierte Prozessoren wie NVIDIA PTX definiert.\n<li class=\"l\"> Die Unterst\u00fctzung erweiterter Intel AVX512-FP16-Instruktionen und des Typs _Float16 wurde in den Code-Generierungs-Backend f\u00fcr die x86-Architektur hinzugef\u00fcgt.\n<li class=\"l\"> F\u00fcr die x86-Architektur wurde ein Schutz vor Schwachstellen in Prozessoren hinzugef\u00fcgt, die durch spekulative Ausf\u00fchrung von Instruktionen nach bedingungslosen Sprungoperationen verursacht werden. Das Problem entsteht durch die vorweggenommene Verarbeitung von Instruktionen, die im Speicher unmittelbar nach dem Sprungbefehl folgt (SLS, Straight Line Speculation). Um den Schutz zu aktivieren, wurde die Option &#171;-mharden-sls&#187; vorgeschlagen.\n<li class=\"l\"> Der experimentelle statische Analyse-Tool hat eine Definition f\u00fcr die Nutzung nicht initialisierter Variablen hinzugef\u00fcgt. Erste Unterst\u00fctzung f\u00fcr die Analyse von Assembler-Code in Inline-Einf\u00fcgungen wurde implementiert. Das Verfolgen des Speicherstatus wurde verbessert. Der Code zur Verarbeitung von Switch-Ausdr\u00fccken wurde neu geschrieben.\n<li class=\"l\"> Es wurden 30 neue Aufrufe in libgccjit hinzugef\u00fcgt, einer gemeinsamen Bibliothek zur Integration eines Codegenerators in andere Prozesse und zur Verwendung f\u00fcr die Organisation der JIT-Kompilierung von Bytecode in Maschinencode.\n<li class=\"l\"> In das Backend zur Generierung von BPF-Bytecode wurde die Unterst\u00fctzung f\u00fcr den CO-RE-Mechanismus (Compile Once \u2014 Run Everywhere) integriert, der es erm\u00f6glicht, eBPF-Programmcodes f\u00fcr den Linux-Kernel nur einmal zu kompilieren und einen speziellen universellen Loader zu verwenden, der das geladene Programm an den aktuellen Kernel und die BTF-Typen (BPF Type Format) anpasst. CO-RE l\u00f6st das Problem der Portabilit\u00e4t kompilierter eBPF-Programme, die zuvor nur mit der Kernelversion verwendet werden konnten, f\u00fcr die sie kompiliert wurden, da die Position der Elemente in Datenstrukturen von Version zu Version variiert.\n<li class=\"l\"> Im Backend f\u00fcr die RISC-V-Architektur wurde die Unterst\u00fctzung neuer Erweiterungen des Befehlssatzes zba, zbb, zbc und zbs sowie ISA-Erweiterungen f\u00fcr Vektor- und skalare kryptografische Operationen hinzugef\u00fcgt. Standardm\u00e4\u00dfig wird die Unterst\u00fctzung der Spezifikation der RISC-V ISA 20191213 bereitgestellt. Ein neues Flag -mtune=thead-c906 wurde hinzugef\u00fcgt, das Optimierungen f\u00fcr die T-HEAD-Cores c906 aktiviert.\n<li class=\"l\"> Im Backend zur Codegenerierung f\u00fcr AMD-GPUs auf Basis der Mikroarchitektur GCN wurde die Unterst\u00fctzung f\u00fcr den Typ __int128_t\/integer(kind=16) hinzugef\u00fcgt. Die Nutzung von bis zu 40 Arbeitsgruppen pro Recheneinheit (CU) und bis zu 16 Instruktionsfronten (Wavefront, eine Gruppe von Threads, die gleichzeitig im SIMD Engine ausgef\u00fchrt werden) wurde erm\u00f6glicht. Zuvor war nur ein einzelner Instruktionsfront pro CU erlaubt.\n<li class=\"l\"> Im NVPTX-Backend, das zur Codegenerierung mit der Architektur des NVIDIA PTX-Befehlssatzes (Parallel Thread Execution) gedacht ist, wurde die M\u00f6glichkeit hinzugef\u00fcgt, die Flags \u201e-march\u201c, \u201e-mptx\u201c und \u201e-march-map\u201c zu verwenden. Die Unterst\u00fctzung f\u00fcr die PTX ISA sm_53, sm_70, sm_75 und sm_80 wurde implementiert. Standardm\u00e4\u00dfig wird die Architektur sm_30 verwendet.\n<li class=\"l\"> Im Backend f\u00fcr PowerPC \/ PowerPC64 \/ RS6000 wurden die Implementierungen der eingebetteten Funktionen \u00fcberarbeitet. Die eingebetteten Funktionen __builtin_get_texasr, __builtin_get_texasru, __builtin_get_tfhar, __builtin_get_tfiar, __builtin_set_texasr, __builtin_set_texasru, __builtin_set_tfhar und __builtin_set_tfiar sind dokumentiert.\n<li class=\"l\"> F\u00fcr die ARM\/AArch64-Architektur wurde die Unterst\u00fctzung f\u00fcr die CPU Arm Ampere-1 (-mcpu\/-mtune ampere1), Arm Cortex-A510 (cortex-a510), Arm Cortex-A710 (cortex-a710) und Arm Cortex-X2 (cortex-x2) hinzugef\u00fcgt. Neue ARMv8-Architekturvarianten wurden f\u00fcr die Verwendung mit der Option &#171;-march&#187; hinzugef\u00fcgt: armv8.7-a, armv8.8-a, armv9-a. Es wurde eine Implementierung von eingebauten C-Funktionen (Intrinsics) f\u00fcr das atomare Laden und Speichern von Daten im Speicher hinzugef\u00fcgt, die auf der Nutzung erweiterter ARM-Befehle (ls64) basiert. Die Funktionen memcpy, memmove und memset k\u00f6nnen nun mithilfe der ARM-Erweiterung mopsoption beschleunigt werden.\n<li class=\"l\">  Ein neuer \u00dcberpr\u00fcfungsmodus &#171;-fsanitize=shadow-call-stack&#187; (ShadowCallStack) wurde hinzugef\u00fcgt, der derzeit nur f\u00fcr die Architektur AArch64 verf\u00fcgbar ist und beim Kompilieren von Code mit der Option &#171;-ffixed-r18&#187; funktioniert. Der Modus bietet Schutz vor der \u00dcberschreibung der R\u00fccksprungadresse aus einer Funktion im Falle eines Puffer\u00fcberlaufs im Stack. Das Schutzprinzip besteht darin, die R\u00fccksprungadresse nach der \u00dcbergabe der Kontrolle an die Funktion in einem separaten &#171;schattierten&#187; Stack zu speichern und diese Adresse vor dem Verlassen der Funktion wieder abzurufen.      <\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57145\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 GCC 12.1, \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 GCC 12.x. \u0412 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043d\u043e\u0432\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0439 \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432, \u0432\u0435\u0440\u0441\u0438\u044f 12.0 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0430 \u043d\u0435\u0437\u0430\u0434\u043e\u043b\u0433\u043e \u0434\u043e \u0432\u044b\u0445\u043e\u0434\u0430 GCC 12.1 \u0443\u0436\u0435 \u043e\u0442\u0432\u0435\u0442\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0435\u0442\u043a\u0430 GCC 13.0, \u043d\u0430 \u0431\u0430\u0437\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 GCC 13.1. 23 \u043c\u0430\u044f \u043f\u0440\u043e\u0435\u043a\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-103971","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 GCC 12.1, \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 GCC 12.x. \u0412 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043d\u043e\u0432\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0439 \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432, \u0432\u0435\u0440\u0441\u0438\u044f 12.0 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0430 \u043d\u0435\u0437\u0430\u0434\u043e\u043b\u0433\u043e \u0434\u043e \u0432\u044b\u0445\u043e\u0434\u0430 GCC 12.1 \u0443\u0436\u0435 \u043e\u0442\u0432\u0435\u0442\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0435\u0442\u043a\u0430 GCC 13.0, \u043d\u0430 \u0431\u0430\u0437\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 GCC 13.1. 23 \u043c\u0430\u044f \u043f\u0440\u043e\u0435\u043a\u0442\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/reliz-nabora-kompilyatorov-gcc-12\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 GCC 12 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 GCC 12.1, \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 GCC 12.x. \u0412 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043d\u043e\u0432\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0439 \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432, \u0432\u0435\u0440\u0441\u0438\u044f 12.0 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0430 \u043d\u0435\u0437\u0430\u0434\u043e\u043b\u0433\u043e \u0434\u043e \u0432\u044b\u0445\u043e\u0434\u0430 GCC 12.1 \u0443\u0436\u0435 \u043e\u0442\u0432\u0435\u0442\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0435\u0442\u043a\u0430 GCC 13.0, \u043d\u0430 \u0431\u0430\u0437\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 GCC 13.1. 23 \u043c\u0430\u044f \u043f\u0440\u043e\u0435\u043a\u0442\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/reliz-nabora-kompilyatorov-gcc-12\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-05-06T13:36:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-05-06T13:36:45+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Ver\u00f6ffentlichung des Compiler-Sets GCC 12 | ProHoster","description":"Nach einem Jahr Entwicklung wurde die Ver\u00f6ffentlichung des freien Compiler-Sets GCC 12.1 bekannt gegeben, das erste bedeutende Release in der neuen Reihe GCC 12.x. Entsprechend dem neuen Versionsschema wurde die Version 12.0 im Entwicklungsprozess verwendet, und kurz vor der Ver\u00f6ffentlichung von GCC 12.1 wurde bereits der Branch GCC 13.0 abgezweigt, auf dessen Grundlage das n\u00e4chste bedeutende Release GCC 13.1 entstehen wird. Am 23. Mai wird das Projekt","canonical_url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/reliz-nabora-kompilyatorov-gcc-12","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 GCC 12 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 GCC 12.1, \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 GCC 12.x. \u0412 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043d\u043e\u0432\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0439 \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432, \u0432\u0435\u0440\u0441\u0438\u044f 12.0 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0430 \u043d\u0435\u0437\u0430\u0434\u043e\u043b\u0433\u043e \u0434\u043e \u0432\u044b\u0445\u043e\u0434\u0430 GCC 12.1 \u0443\u0436\u0435 \u043e\u0442\u0432\u0435\u0442\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0435\u0442\u043a\u0430 GCC 13.0, \u043d\u0430 \u0431\u0430\u0437\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 GCC 13.1. 23 \u043c\u0430\u044f \u043f\u0440\u043e\u0435\u043a\u0442","og:url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/reliz-nabora-kompilyatorov-gcc-12","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-05-06T13:36:45+00:00","article:modified_time":"2022-05-06T13:36:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"103971","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-25 10:51:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-05-06 13:37:40","updated":"2026-01-25 10:51:21"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/103971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=103971"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/103971\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=103971"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=103971"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=103971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}