GCC 13.1 est une grosse mise à jour qui ajoute un langage Modula-2 pour ceux qui sont intéressés par la programmation vintage, il y a le nouveau code GCC Rust "gccrs" mais il est désactivé pour la v13.1 parce qu'il est encore en train de cuire, l'analyseur statique de GCC continue d'être amélioré, il y a beaucoup plus de fonctionnalités C23 et C++23, et il y a le support de nombreux nouveaux processeurs x86_64 / RISC-V / AArch64.
GCC 13. 1 fournit également le support initial d'AMD Zen 4 (znver4) pour les processeurs des séries Ryzen 7000 et EPYC 9004, des améliorations du déchargement OpenMP, le support pour l'émission de diagnostics dans le format SARIF basé sur JSON, des ajouts Ada 2022, plusieurs nouveaux avertissements C/C++, le support pour la série AMD Instinct MI200 pour le back-end AMDGCN, le support Ampere-1A, le support Neoverse-V2 / Cortex-X3 / Cortex-X1C / Cortex-A715, et le support pour de nombreux nouveaux processeurs Intel. GCC 13 ajoute des cibles CPU Intel pour Raptor Lake, Meteor Lake, Sierra Forest, Grand Ridge, Emerald Rapids, et Granite Rapids ainsi que de nouvelles extensions du jeu d'instructions CPU Intel comme AMX-FP16, AVX-IFMA, AVX-VNNI-INT8, AVX-NE-CONVERT, RAO-INT, et AMX-COMPLEX.
Des benchmarks du compilateur GCC 13 (et LLVM Clang 16) seront bientôt disponibles sur Phoronix.
Richard Biener déclare :
Cette version intègre un frontend pour le langage Modula-2 qui était auparavant disponible séparément et pose les bases d'un frontend pour le langage Rust qui sera disponible dans une prochaine version. Pour le langage Rust qui sera disponible dans une future version.
La prise en charge de l'émission du format de débogage STABS a été supprimée. GCC
supporte DWARF dans presque toutes les configurations.
Le frontend C a obtenu la prise en charge de plusieurs fonctionnalités de C23, le frontend C++ pour les fonctionnalités C++23. La prise en charge expérimentale de la bibliothèque standard C++ pour C++20 et C++23 a été améliorée. Pour la famille de langages C, vous pouvez maintenant utiliser -fstrict-flex-arrays[=niveau] pour contrôler le comportement des différents
formes anciennes de spécification de membres de tableaux flexibles.
L'analyseur statique de GCC a été grandement amélioré avec 20 nouveaux types de diagnostics.
L'optimisation du temps de liaison utilise désormais automatiquement GNU makes jobserver lorsque celui-ci supporte les pipes nommés, ce qui est le cas à partir de la version 4.4.
Il n'est plus nécessaire de modifier les fichiers makefiles.
La prise en charge des nouvelles caractéristiques des processeurs de la famille ARM, x86, RISC-V et LoongArch ont été ajoutées. Notamment RISC-V supporte les intrinsèques vectorielles comme spécifié dans la spécification 0.11 et OpenMP.
La spécification 0.11 et le délestage OpenMP/OpenACC pour les appareils de la série AMD Instinct MI200 a été ajouté.
Certains codes compilés avec succès avec d'anciennes versions de GCC peuvent nécessiter des changements de source.
La prise en charge de l'émission du format de débogage STABS a été supprimée. GCC
supporte DWARF dans presque toutes les configurations.
Le frontend C a obtenu la prise en charge de plusieurs fonctionnalités de C23, le frontend C++ pour les fonctionnalités C++23. La prise en charge expérimentale de la bibliothèque standard C++ pour C++20 et C++23 a été améliorée. Pour la famille de langages C, vous pouvez maintenant utiliser -fstrict-flex-arrays[=niveau] pour contrôler le comportement des différents
formes anciennes de spécification de membres de tableaux flexibles.
L'analyseur statique de GCC a été grandement amélioré avec 20 nouveaux types de diagnostics.
L'optimisation du temps de liaison utilise désormais automatiquement GNU makes jobserver lorsque celui-ci supporte les pipes nommés, ce qui est le cas à partir de la version 4.4.
Il n'est plus nécessaire de modifier les fichiers makefiles.
La prise en charge des nouvelles caractéristiques des processeurs de la famille ARM, x86, RISC-V et LoongArch ont été ajoutées. Notamment RISC-V supporte les intrinsèques vectorielles comme spécifié dans la spécification 0.11 et OpenMP.
La spécification 0.11 et le délestage OpenMP/OpenACC pour les appareils de la série AMD Instinct MI200 a été ajouté.
Certains codes compilés avec succès avec d'anciennes versions de GCC peuvent nécessiter des changements de source.
Et vous ?
Qu'en pensez-vous ?
Voir aussi :
GCC se dote d'un nouveau frontend pour le langage de programmation Rust, une version préliminaire de ce compilateur appelé "gccrs" devrait être incluse dans GCC 13
La première version officielle de GCC 13 est sur le point d'être publiée, mais n'inclura pas gccrs, le frontend pour le langage Rust, le compilateur gccrs ne serait pas prêt pour du "vrai" code Rust
GCC 13 prend désormais en charge Modula-2, le descendant de Pascal, il supporte également le langage Rust