{"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\/it\/blog\/novosti-interneta\/reliz-nabora-kompilyatorov-gcc-12","title":{"rendered":"Versione del set di compilatori GCC 12","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dopo un anno di sviluppo, \u00e8 stata rilasciata la versione 12.1 del compilatore GCC, il primo importante rilascio della nuova serie GCC 12.x. Secondo il nuovo schema di numerazione delle versioni, la versione 12.0 \u00e8 stata utilizzata durante lo sviluppo, e poco prima del rilascio di GCC 12.1 \u00e8 stata gi\u00e0 creata la ramificazione GCC 13.0, da cui sar\u00e0 generato il prossimo importante rilascio, GCC 13.1. Il 23 maggio il progetto celebrer\u00e0 35 anni dalla pubblicazione della prima versione di GCC.      <\/p>\n<p>Principali modifiche:  <\/p>\n<ul>\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per il formato di debug CTF (Compact Type Format), che consente una memorizzazione compatta delle informazioni sui tipi C, le relazioni tra funzioni e i simboli di debug. Se integrato negli oggetti ELF, il formato permette di utilizzare le tabelle dei simboli EFL per evitare la duplicazione dei dati.\n<li class=\"l\"> \u00c8 stata dichiarata obsoleta la supporto per il formato di memorizzazione delle informazioni di debug \u00abSTABS\u00bb, creato negli anni '80.\n<li class=\"l\"> Continua il lavoro per ampliare il supporto per i futuri standard C2X e C++23 per i linguaggi C e C++. Ad esempio, \u00e8 stato aggiunto il supporto per l'espressione \u00abif consteval\u00bb; \u00e8 consentito l'uso di auto negli argomenti delle funzioni (\u00abf(auto(g()))\u00bb); \u00e8 consentito l'uso di variabili non letterali, goto e etichette in funzioni dichiarate come constexpr; \u00e8 stato aggiunto il supporto per operatori di indicizzazione multidimensionale operator[]; in if, for e switch sono state ampliate le funzionalit\u00e0 dei blocchi di inizializzazione (\u00abfor (using T = int; T e : v)\u00bb).\n<li class=\"l\"> Nella libreria standard C++ \u00e8 stato migliorato il supporto per le sezioni sperimentali degli standard C++20 e C++23. \u00c8 stato aggiunto il supporto per std::move_only_function, , std::basic_string::resize_and_overwrite, ,  e std::invoke_r. \u00c8 consentito l'uso in funzioni constexpr di std::unique_ptr, std::vector, std::basic_string, std::optional e std::variant.\n<li class=\"l\"> Nel frontend per il linguaggio Fortran \u00e8 stato fornito il supporto completo per la specifica TS 29113, che descrive le capacit\u00e0 di garantire portabilit\u00e0 tra codice scritto nei linguaggi Fortran e C.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per l'estensione __builtin_shufflevector(vec1, vec2, index1, index2, \u2026), precedentemente aggiunta in Clang e che fornisce una chiamata unica per eseguire operazioni comuni di permutazione e mescolamento dei vettori.\n<li class=\"l\"> Quando si utilizza il livello di ottimizzazione \u00ab-O2\u00bb, \u00e8 attivato per impostazione predefinita l'uso della vettorizzazione (sono attivi i modi -ftree-vectorize e -fvect-cost-model=very-cheap). Il modello \u00abvery-cheap\u00bb consente la vettorizzazione solo se il codice vettoriale pu\u00f2 sostituire completamente il codice scalare vettorizzabile.\n<li class=\"l\"> \u00c8 stata aggiunta la modalit\u00e0 \u00ab-ftrivial-auto-var-init\u00bb che include l'inizializzazione esplicita delle variabili nello stack per il monitoraggio dei problemi e il blocco delle vulnerabilit\u00e0 legate all'uso di variabili non inizializzate.\n<li class=\"l\"> Per i linguaggi C e C++ \u00e8 stata aggiunta la funzione integrata __builtin_dynamic_object_size per determinare la dimensione di un oggetto, compatibile con una funzione simile di Clang.\n<li class=\"l\"> Per i linguaggi C e C++ \u00e8 stato aggiunto il supporto per l'attributo \u00abunavailable\u00bb (ad esempio, \u00e8 possibile contrassegnare le funzioni per le quali, se vengono utilizzate, verr\u00e0 restituito un errore).\n<li class=\"l\"> Per i linguaggi C e C++ \u00e8 stato aggiunto il supporto per le direttive di preprocessore \u00ab#elifdef\u00bb e \u00ab#elifndef\u00bb.\n<li class=\"l\"> \u00c8 stato aggiunto il flag \u00ab-Wbidi-chars\u00bb per generare un avviso in caso di utilizzo scorretto di caratteri UTF-8 che alterano l'ordine di visualizzazione del testo bidirezionale.\n<li class=\"l\"> \u00c8 stato aggiunto il flag \u00ab-Warray-compare\u00bb per generare un avviso quando si tenta di confrontare due operandi che fanno riferimento a array.\n<li class=\"l\"> Continua l'implementazione degli standard OpenMP 5.0 e 5.1 (Open Multi-Processing), che definiscono API e modalit\u00e0 di utilizzo di metodi di programmazione parallela su sistemi multi-core e ibridi (CPU+GPU\/DSP) con memoria condivisa e blocchi di vettorizzazione (SIMD).\n<li class=\"l\"> Migliorata l'implementazione della specifica di programmazione parallela OpenACC 2.6, che definisce i mezzi per l'offloading delle operazioni su GPU e processori specializzati, come NVIDIA PTX.\n<li class=\"l\"> Nel backend di generazione del codice per l'architettura x86 \u00e8 stata aggiunta la supporto per le istruzioni estese Intel AVX512-FP16 e per il tipo _Float16.\n<li class=\"l\"> Per l'architettura x86 \u00e8 stata aggiunta una protezione contro le vulnerabilit\u00e0 nei processori causate dall'esecuzione speculativa delle istruzioni dopo operazioni di salto incondizionato. Il problema si verifica a causa dell'elaborazione anticipata delle istruzioni che seguono immediatamente l'istruzione di salto in memoria (SLS, Straight Line Speculation). Per abilitare la protezione \u00e8 stata proposta l'opzione \u00ab-mharden-sls\u00bb.\n<li class=\"l\"> Nell'analizzatore statico sperimentale \u00e8 stata aggiunta la definizione dell'uso di variabili non inizializzate. \u00c8 stata introdotta un'iniziale supporto per l'analisi del codice assembly nelle inserzioni inline. \u00c8 stato migliorato il tracciamento dello stato della memoria. \u00c8 stato riscritto il codice per la gestione delle espressioni switch.\n<li class=\"l\"> Aggiunti 30 nuove chiamate in libgccjit, una libreria condivisa per l'integrazione di un generatore di codice in altri processi e per l'organizzazione della compilazione JIT del bytecode in codice macchina.\n<li class=\"l\"> Nel backend per la generazione di bytecode BPF \u00e8 stata aggiunta la supporto per il meccanismo CO-RE (Compile Once \u2014 Run Everywhere), che consente di compilare il codice dei programmi eBPF per il kernel Linux una sola volta e di utilizzare un caricatore universale speciale, che adatta il programma caricato al kernel attuale e ai tipi BTF (BPF Type Format). CO-RE risolve il problema della portabilit\u00e0 dei programmi eBPF compilati, che in precedenza potevano essere utilizzati solo con la versione del kernel per cui erano stati compilati, poich\u00e9 la posizione degli elementi nelle strutture dati cambia da versione a versione.\n<li class=\"l\"> Nel backend per l'architettura RISC-V \u00e8 stata aggiunta la supporto per le nuove estensioni dell'architettura del set di istruzioni zba, zbb, zbc e zbs, oltre alle estensioni ISA per le operazioni crittografiche vettoriali e scalari. \u00c8 stata assicurata, di default, la supporto per la specifica RISC-V ISA 20191213. \u00c8 stata aggiunta l'opzione -mtune=thead-c906, che include le ottimizzazioni per i core T-HEAD c906.\n<li class=\"l\"> Nel backend di generazione del codice per GPU AMD basate sull'architettura micro GCN \u00e8 stata aggiunta la supporto per il tipo __int128_t\/integer(kind=16). \u00c8 stata resa possibile l'utilizzo di fino a 40 gruppi di lavoro per blocco computazionale (CU) e fino a 16 fronti di istruzioni (wavefront, insieme di thread, eseguiti in parallelo dal SIMD Engine) per gruppo. In precedenza era consentito l'uso di un solo fronte di istruzioni per CU.\n<li class=\"l\"> Nel backend NVPTX, progettato per generare codice utilizzando l'architettura dell'insieme di istruzioni NVIDIA PTX (Parallel Thread Execution), \u00e8 stata aggiunta la possibilit\u00e0 di utilizzare le opzioni '-march', '-mptx' e '-march-map'. \u00c8 stata implementata la supporto per PTX ISA sm_53, sm_70, sm_75 e sm_80. Di default, viene utilizzata l'architettura sm_30.\n<li class=\"l\"> Nel backend per i processori PowerPC \/ PowerPC64 \/ RS6000 sono state riscritte le implementazioni delle funzioni integrate. Sono state documentate le funzioni integrate __builtin_get_texasr, __builtin_get_texasru, __builtin_get_tfhar, __builtin_get_tfiar, __builtin_set_texasr, __builtin_set_texasru, __builtin_set_tfhar e __builtin_set_tfiar.\n<li class=\"l\"> Nel backend per l'architettura ARM\/AArch64 \u00e8 stata aggiunta la supporto per le CPU Arm Ampere-1 (-mcpu\/-mtune ampere1), Arm Cortex-A510 (cortex-a510), Arm Cortex-A710 (cortex-a710) e Arm Cortex-X2 (cortex-x2). Sono stati aggiunti nuovi varianti dell'architettura ARMv8 da utilizzare con l'opzione &#171;-march&#187;: armv8.7-a, armv8.8-a, armv9-a. \u00c8 stata implementata una nuova funzione integrata nel compilatore per il C (Intrinsics) per il caricamento e il salvataggio atomico dei dati in memoria, basata sull'uso di istruzioni avanzate ARM (ls64). \u00c8 stata aggiunta la supporto per accelerare le funzioni memcpy, memmove e memset tramite l'estensione ARM mopsoption.\n<li class=\"l\">  \u00c8 stata aggiunta una nuova modalit\u00e0 di verifica &#171;-fsanitize=shadow-call-stack&#187; (ShadowCallStack), attualmente disponibile solo per l'architettura AArch64 e funzionante durante la compilazione del codice con l'opzione &#171;-ffixed-r18&#187;. Questa modalit\u00e0 offre protezione contro la sovrascrittura dell'indirizzo di ritorno da una funzione in caso di overflow del buffer nello stack. Il principio di protezione consiste nel memorizzare l'indirizzo di ritorno in un &#171;stack ombra&#187; separato dopo aver passato il controllo alla funzione e nel recuperare questo indirizzo prima di uscire dalla funzione.      <\/ul>\n<p>Fonte: <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 5.0.0.1 - 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\/it\/blog\/novosti-interneta\/reliz-nabora-kompilyatorov-gcc-12\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47Rilascio della serie di compilatori GCC 12 | ProHoster","description":"Dopo un anno di sviluppo, \u00e8 stata pubblicata la versione del compilatore GCC 12.1, il primo rilascio significativo della nuova serie GCC 12.x. Secondo il nuovo schema di numerazione delle versioni, la versione 12.0 \u00e8 stata utilizzata durante il processo di sviluppo e poco prima del rilascio di GCC 12.1 si \u00e8 gi\u00e0 separata la serie GCC 13.0, su cui sar\u00e0 basato il prossimo rilascio significativo GCC 13.1. 23 maggio il progetto","canonical_url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/reliz-nabora-kompilyatorov-gcc-12","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/103971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=103971"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/103971\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=103971"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=103971"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=103971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}