Tato nová verze kompilátoru GCC byla před pár dny zpřístupněna s novými funkcemi a opravami chyb.
Podle projektového týmu GNU GCC tato nová verze, verze 9.1 je hlavní verze kompilátoru Obsahuje důležité nové funkce, které nejsou k dispozici v GCC 8.x nebo dřívějších verzích. GCC 9.1 by měl přinést nové jazykové funkce, nové optimalizace a některá vylepšení výkonu softwaru.
O GCC
GCC je sbírka překladačů vytvořený projektem GNU. Je to přesněji svobodný software schopný kompilovat různé programovací jazyky, včetně C, C ++, Objective-C, Java, Ada a Fortran.
Je třeba také poznamenat, že používané pro vývoj většiny svobodného softwaru. Nejnovější hlavní vydání kompilátoru pochází z května 2018, verze 8.1.
Jakub Jelinek, vývojář Red Hat, vysvětlil, že GCC 8.1 představuje hlavní vydání, které přináší důležité nové funkce, které nejsou k dispozici v GCC 7.xa dřívějších verzích GCC.
V tomto okamžiku front-end C ++ poskytl experimentální podporu pro některé funkce C ++ 2a s možnostmi -std = c ++ 2a a -std = gnu ++ 2a.
Ve verzi 8.2 na obecné úrovni vylepšení byly opraveny problémy s výkonem LTO (link time optimization) kvůli přetečení algoritmu dělení během vytváření velkých binárních souborů.
Opravy pokračovaly ve větvi 8.x vydáním kompilátoru verze 8.3 loni v únoru. Toto vydání bylo vydání opravy chyby, které obsahovalo patche pro regresi v GCC 8.2 ve srovnání s dřívějšími verzemi GCC. Tým GCC spustil 3. května novou pobočku a vydal verzi 9.
Co je nového v GCC 9.1?
V této verzi Podpora C ++ 17 zavedena od verze kompilátoru 8.1 již není používánal. Proto je podpora pro C ++ 17 nyní stabilní.
Rozhraní C ++ implementuje celý jazyk C ++ 17 a podpora standardní knihovny C ++ se blíží ke konci.
El front-end a knihovna C ++ mají také mnoho dalších funkcí kódovaných z C ++ 2a. GCC má také nové rozhraní pro jazyk D a nyní částečně podporuje OpenMP 5.0 a téměř plně integruje podporu pro OpenACC 2.5.
Pro mnohé je GCC 9 silná verze kompilátoru, který poskytuje skvělé funkce a vylepšení pro zlepšení výkonu vývojáře.
Mezi mnoha novými funkcemi v GCC 9.1 jsou:
- Podpora pro podporu kompilace kódu napsaného v programovacím jazyce D;
- Do GCC byl přidán nový backend AMD GCN GPU. Implementace je aktuálně omezena na kompilaci jednovláknových programů.
- LRA je nyní ve výchozím nastavení povolena pro cíl ARC. To lze ovládat pomocí -mlra.
- Přidaná podpora pro obrazový kód a prohlášení o hustotě větví a indexů.
- Do GCC bylo přidáno nové back-endové procesory zaměřené na C-SKY V2.
- Podpora Intel MPX byla odstraněna.
- Byl přidán nový backend pro podporu procesorů OpenRISC.
- Podpora specifikace OpenACC 2.5 je téměř úplná.
- Interní balíček „selftest“ GCC nyní funguje pro C ++ a C (v ladicích verzích kompilátoru).
- Byla také vylepšena podpora Fortranu v GCC. Nyní zpracovává asynchronní I / O a další funkce.
- Optimalizace meziprocesů (OPI), optimalizace založená na profilu, optimalizace doby propojení (LTO) a mnoho dalších optimalizací zajišťujících lepší kvalitu kódu.
- Celková doba kompilace pro Firefox 66 a LibreOffice 6.2.3 na 8jádrovém počítači byla ve srovnání s GCC 5 snížena přibližně o 8.3%. Velikost souborů objektů LTO je snížena o 7%.
- Čas propojení LTO se na 11 jádrových strojích zlepší o 8% a dramaticky se vyvíjí pro paralelnější konstrukční prostředí. Sériová fáze optimalizace času linky je o 28% rychlejší a spotřebovává o 20% méně paměti. Parallel Stage nyní rozděluje 128 oddílů namísto 32 a snižuje využití paměti pro každého uživatele o 30%.
- Pro diagnostiku ve strojově čitelném formátu byla zavedena nová možnost „-fdiagnostics-format = json“.
zdroj: https://gcc.gnu.org