La version 9.1 du compilateur GCC est disponible et prend en charge le C++17
Plusieurs autres fonctionnalités sont ajoutées

Le , par Bill Fassinou

266PARTAGES

20  1 
Comme annoncé en novembre dernier, la nouvelle version de la collection de compilateurs GCC est la version 9. Cette nouvelle version du compilateur GCC a été rendue disponible il y a quelques jours avec de nouvelles fonctionnalités. Selon l’équipe GCC du projet GNU, cette nouvelle version, la version 9.1 est une version majeure du compilateur contenant d’importantes nouvelles fonctionnalités non disponibles dans GCC 8.x ou dans ses versions antérieures. GCC 9.1 devrait apporter aux logiciels de nouvelles fonctionnalités linguistiques, diverses nouvelles optimisations et certaines améliorations de performances.

GCC est une collection de compilateurs créés par le projet GNU. Il s’agit plus exactement d’un logiciel libre capable de compiler divers langages de programmation, dont C, C++, Objective-C, Java, Ada et Fortran. Il faut également noter qu’il est utilisé pour le développement de la plupart des logiciels libres. La dernière version majeure du compilateur remonte à mai 2018, la version 8.1. Jakub Jelinek, développeur chez Red Hat avait expliqué que GCC 8.1 représentait une version majeure apportant de nouvelles fonctionnalités importantes non disponibles dans GCC 7.x et les versions précédentes de GCC. À ce stade, le front-end C++ a apporté un support expérimental pour certaines fonctionnalités de la norme C++2a avec les options -std=c++2a et -std=gnu++2a.

La version 8.2 a été publiée en juillet 2018 pour des raisons de correction de bogues. Dans la version 8.2, l'équipe GCC a corrigé une centaine de bogues tout en apportant d'autres améliorations. Au niveau des améliorations générales, les problèmes de performance LTO (link-time optimization ou optimisation à l'édition des liens) dus à un débordement dans l'algorithme de partitionnement lors de la création de gros fichiers binaires ont été corrigés. Les corrections ont continué dans la branche 8.x avec la sortie de la version 8.3 du compilateur en février dernier. Cette version a été une version de correction de bugs contenant des correctifs pour les régressions dans GCC 8.2 par rapport aux versions précédentes de GCC. L’équipe de GCC a lancé une nouvelle branche le 3 mai en publiant la version 9.1 de GCC qui a été présentée comme une mise à jour majeure du compilateur.


Dans cette nouvelle version, le support pour la prise en charge de C++ 17 introduite depuis la version 8.1 du compilateur n’est plus expérimental. Ainsi, la prise en charge de C++ 17 est désormais effective. Le frontal C++ implémente l’ensemble du langage C++ 17 et le support de la bibliothèque standard C++ est presque terminé. Le front-end et la bibliothèque C++ ont également de nombreuses autres fonctionnalités brouillonnes de C++ 2a. En plus, GCC a une nouvelle interface pour le langage D et prend désormais en charge partiellement OpenMP 5.0 et intègre presque complètement le support pour OpenACC 2.5. Parmi les nombreuses nouveautés de GCC 9.1, on peut citer :

  • la prise en charge d’un support pour la compilation de code écrit avec le langage de programmation D ;
  • un nouveau back-end ciblant les GPU AMD GCN a été ajouté à GCC. L'implémentation est actuellement limitée à la compilation de programmes autonomes à un seul thread. Les futures versions ajouteront un support pour le déchargement des noyaux multithreads via OpenMP et OpenACC ;
  • LRA est maintenant activé par défaut pour la cible ARC. Cela peut être contrôlé par -mlra ;
  • ajout d’un support pour les instructions de densité de code d'image et de branche et index ;
  • ajout d’un nouveau back-end ciblant les processeurs C-SKY V2 a été ajouté à GCC ;
  • la prise en charge d'Intel MPX (Memory Protection Extensions) a été supprimée ;
  • un nouveau back-end pour la prise en charge des processeurs OpenRISC a été ajouté ;
  • la prise en charge de la spécification OpenACC 2.5 est presque complète ;
  • la suite interne “selftest” de GCC fonctionne maintenant pour C++ ainsi que C (dans les versions de débogage du compilateur) ;
  • la prise en charge de Fortran dans GCC a également été améliorée. Elle gère désormais les E/S asynchrones et d’autres fonctionnalités ;
  • optimisations interprocédures (IPO), optimisations basées sur les profils, optimisations de temps de liaison (LTO), ainsi que de nombreuses autres optimisations visant à garantir une meilleure qualité de code ;
  • le temps de compilation global de Firefox 66 et LibreOffice 6.2.3 sur une machine à 8 cœurs a été réduit d’environ 5 % par rapport à GCC 8.3. La taille des fichiers d'objet LTO est réduite de 7 %. Le temps de liaison de LTO s’améliore de 11 % sur les machines à 8 cœurs et évolue considérablement pour des environnements de construction plus parallèles. L'étape en série de l'optimisation du temps de liaison est 28 % plus rapide et consomme 20 % de mémoire en moins. Parallel Stage partitionne maintenant 128 partitions au lieu de 32 et réduit l'utilisation de la mémoire pour chaque utilisateur de 30 % ;
  • une nouvelle option “-fdiagnostics-format = json” a été introduite pour l'émission de diagnostics dans un format lisible par machine ;
  • etc.

Pour beaucoup, GCC 9 est une version solide du compilateur qui apporte des fonctionnalités et des améliorations très importantes afin d’améliorer les performances des développeurs.

Source : GCC

Et vous ?

Que pensez-vous des nouveautés apportées dans le version 9.1 du compilateur GCC ?

Voir aussi

GCC 9 sera la première version stable du compilateur à supporter le langage D, un nouveau front-end allonge la liste

GCC 8.1 est disponible, la nouvelle version majeure du compilateur libre vient avec un support expérimental de C++2a et d'autres fonctionnalités

GCC 8.2 est disponible. Cette mise à jour du compilateur libre corrige une centaine de bogues

GCC : la version 7.3 du compilateur libre est disponible avec des correctifs pour la vulnérabilité Spectre pour les dispositifs x86 et powerpc

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Aurelien Plazzotta
Membre extrêmement actif https://www.developpez.com
Le 06/05/2019 à 14:59
Il manque un élément essentiel à l'article et néanmoins cité dans la source:
D

  • Support for the D programming language has been added to GCC, implementing version 2.076 of the language and run-time library.


Le langage D est désormais officiellement supporté dans GCC :p ça veut dire possibilité d'introduire du code D dans les dépôts et les paquets logiciels Linux
Iain Buclaw, le mainteneur de GDC, le compilateur D basé sur GCC, a annoncé que la nouvelle version de D (i.d. 2.086) publiée aujourd'hui, va être intégrée à GDC lors du déploiement de GCC 10 stage 1: https://forum.dlang.org/post/qahsp7$13fa$1@digitalmars.com
0  0 
Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 06/05/2019 à 15:04
Le support de D c'est depuis la version 9 pas 9.1 : GCC 9 sera la première version stable du compilateur à supporter le langage D.
2  0 
Avatar de Aurelien Plazzotta
Membre extrêmement actif https://www.developpez.com
Le 06/05/2019 à 15:15
Oui, tu as raison, mais il a bénéficié d'une immense mise à jour depuis. GDC a été publié avec la version 2.067.0 du langage je crois, et est désormais mis à jour en 2.076.0. Le travail réalisé est colossal car le type est seul à l'avoir accompli.
Voir https://forum.dlang.org/post/qai38m$1gp8$1@digitalmars.com ou https://forum.dlang.org/post/xxqoqnj...orum.dlang.org
0  0 
Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 06/05/2019 à 15:24
Quels sont les langages de programmation que vous voulez apprendre en 2019 ?

Langage D - 1,49%

En même temps c'est pas si mal, plus de 1%...
0  0 
Avatar de Aurelien Plazzotta
Membre extrêmement actif https://www.developpez.com
Le 06/05/2019 à 15:38
Citation Envoyé par Pierre Louis Chevalier Voir le message
Quels sont les langages de programmation que vous voulez apprendre en 2019 ?

Langage D - 1,49%

En même temps c'est pas si mal, plus de 1%...
Ne te laisse pas influencer par de vagues sondages sur un site web francophone, jette peut-être un oeil aux boîtes faisant appel au D: https://dlang.org/orgs-using-d.html
J'ajouterai les sujet évoqués lors de la conférence D (i.d. DConf) du 8 mai au 11 mai 2019: https://dconf.org/2019/schedule/index.html
1  0 
Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 06/05/2019 à 15:43
C'est vrai que le sondage US est tellement plus favorable au D :





Sur le forum D il y quand même eu un message en 2019, ça présage que de bonnes chose pour ce langage formidable
0  1 
Avatar de archqt
Membre confirmé https://www.developpez.com
Le 06/05/2019 à 21:54
Citation Envoyé par Pierre Louis Chevalier Voir le message


Sur le forum D il y quand même eu un message en 2019, ça présage que de bonnes chose pour ce langage formidable
Houla attention y a de la demande
Le langage est peut être bien, mais c'est mort de chez mort.
0  0 
Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 07/05/2019 à 0:21
Attention s'il y a un deuxième message en 2019 sur le D ça voudra dire une augmentation de 100% d’utilisateurs du D par rapport à un seul message en 2018, donc une croissance fulgurante de la demande sur ce langage génial
0  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 07/05/2019 à 8:05
gcc est un ensemble de compilateurs. Il ne fait pas que du C/C++. Il y a aussi des évolutions sur Fortran, comme l'indique l’actu qui est pas spécialement utilisé en masse non plus.

Le Go, présenté dans le schéma (avec toute la relativité de celui-ci), comme le langage voulant être le plus appris en 2019 est pris en charge par gcc.
2  0 
Avatar de ACIDVENOM
Membre à l'essai https://www.developpez.com
Le 07/05/2019 à 14:02
Bonjour,
Désolé si la question peut sembler évidente à certains mais où est la doc de GCC pour compiler du D ?
À part une allusion (chapitre 2.6) dans la doc GCC 9.1, y a rien j'ai l'impression.
0  0 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web