LLVM est une infrastructure de compilateur conçue pour la compilation, la liaison, l’exécution et l’optimisation des programmes à partir de langages de programmation arbitraires.
LLVM prend actuellement en charge la compilation des programmes C ++ et C, en utilisant des éléments frontaux dérivés de gcc 3.4.
Nouveautés dans cette version:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version 6.0.0:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version 5.0.0:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version 4.0.1:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version 4.0.0:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version 3.9.1:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version 3.9.0:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version 3.8.1:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version 3.8.0:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version 3.7.1:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version 3.7.0:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version 3.6.2:
- Ceci est une nouvelle version avec beaucoup de fonctionnalités. Clang prend désormais en charge toutes les fonctionnalités de la version de travail actuelle du futur standard C ++, provisoirement nommé C ++ 1y. L'analyseur statique a considérablement amélioré la prise en charge de C ++, produit moins de faux positifs et attrape plus de bogues. Clang comprend également quelques nouvelles fonctionnalités: 1) un outil appelé & quot; clang-format & quot; qui peut être utilisé dans un éditeur de texte ou un éditeur de texte pour formater automatiquement votre code en fonction des styles intégrés, et 2) un nouveau pilote (expérimental!) conçu pour être compatible avec Visual Studio sous Windows. Dans le générateur de code, les performances globales sont considérablement accrues. Notamment, l'auto-vectoriseur de boucle est maintenant activé pour -Os et -O2 en plus de -O3 (avec une heuristique adaptée à chaque niveau). Le vectoriseur automatique SLP ("code linéaire") est désormais également activé par défaut. De nombreuses cibles ont fait des bonds importants, mais la cible R600 est maintenant construite par défaut (plutôt qu'expérimentale), le backend PowerPC a apporté plusieurs améliorations majeures à la qualité de génération de code et à la compilation, et les backends X86, SPARC, ARM32, Aarch64 et SystemZ ont tous vu des œuvres majeures.
Outre toutes les améliorations, il y a un changement notable: clang -O4 n'autorise plus implicitement l'optimisation du temps de liaison. LTO reste disponible avec l'option -flto et peut être activé à tout niveau d'optimisation. Pour obtenir le comportement précédent -O4, utilisez simplement "clang -O3 -flto". De plus, LLVM 3.4 sera la dernière version à compiler avec un simple compilateur C ++ '98. Les futures versions nécessiteront une prise en charge de C ++ '11 dans le compilateur hôte à construire. LLVM 3.4 est le résultat d'un nombre incroyable de personnes travaillant ensemble au cours des six derniers mois, mais cette version ne serait pas possible sans notre équipe de sortie bénévole! Merci à Bill Wendling pour avoir rendu tout cela possible en pilotant la sortie, et aux géniaux testeurs: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola. , Renato Golin, Sebastian Dre & szlig; ler, Sylvestre Ledru et Tom Stellard.
Nouveautés dans la version 3.2:
- Cette version inclut un grand nombre de corrections de bogues, de modifications de performances et améliorations mineures.
Nouveautés dans la version 3.1:
- Prise en charge partielle de gcc-4.7. Le support d'Ada est médiocre, mais d'autres langages fonctionnent assez bien.
- Prise en charge des processeurs ARM. Certains en-têtes gcc indispensables à la construction de DragonEgg pour ARM ne sont pas installés par gcc. Pour contourner ce problème, copiez les en-têtes manquants de l'arborescence source gcc.
- Meilleure optimisation pour Fortran en exploitant le fait que les arguments scalaires Fortran ont pour effet de restreindre la sémantique.
- Meilleure optimisation de toutes les langues en transmettant des informations sur les alias de type et les plages de types aux optimiseurs LLVM.
- Une suite de tests de régression a été ajoutée.
Nouveautés dans la version 3.0:
- Amélioration considérable de la prise en charge des applications C ++, avec une plus grande stabilité et de meilleurs diagnostics.
- Amélioration de la prise en charge du standard C ++ 2011 (également appelé "C ++" 0x & quot;), y compris les implémentations d'initialiseurs de membres de données non statiques, les modèles d'alias, les constructeurs délégués, les boucles les opérateurs d'affectation, entre autres.
- Prise en charge de certaines fonctionnalités du futur standard C1x, y compris des assertions statiques et des sélections génériques.
- Meilleure détection des chemins d’inclusion et de liaison pour les en-têtes et les bibliothèques du système, en particulier pour les distributions Linux.
- Plusieurs améliorations du support Objective-C, notamment:
- Comptage automatique des références (ARC) et un modèle de mémoire amélioré séparant proprement les objets et la mémoire C.
- Un outil de migration permettant de transférer le code de rétention / libération manuelle vers ARC
- Meilleure prise en charge du masquage des données, permettant de déclarer les variables d'instance dans des contextes d'implémentation ou des extensions de classe
- Support de liaison faible pour les classes Objective-C
- Vérification de type statique améliorée en déduisant le type de retour des méthodes telles que + alloc et -init.
- Certaines nouvelles fonctionnalités d'Objective-C requièrent soit l'exécution de Objective-C sous Mac OS X 10.7 / iOS 5, soit la version 1.6 ou ultérieure de la version d'exécution d'Objective-C de GNUstep.
- Mise en œuvre d’un certain nombre d’optimisations dans libclang, l’interface Clang C, pour améliorer les performances de complétion du code et le mappage des emplacements source vers les nœuds d’arborescence de syntaxe abstraite.
Nouveautés dans la version 2.9:
- L'analyse d'alias basée sur les types (TBAA) est maintenant implémentée et activée sur par défaut à Clang. Cela permet une optimisation de la charge / du magasin nettement meilleure dans certains cas. TBAA peut être désactivé en passant -fno-strict-aliasing.
- Cette version a continué à mettre l’accent sur la qualité des informations de débogage. LLVM génère désormais des informations de débogage beaucoup plus fidèles, en particulier lors du débogage du code optimisé.
- L'assemblage en ligne prend désormais en charge plusieurs contraintes alternatives.
- Un nouveau moteur pour l’ISA virtuel NVIDIA PTX (utilisé pour cibler ses GPU) est en développement rapide. Il n'est généralement pas utile en 2.9, mais progresse rapidement.
Nouveautés dans la version 2.7:
- Support C ++: Clang est maintenant capable d’auto-héberger! Bien qu'il reste de qualité alpha, le support C ++ de Clang a suffisamment évolué pour générer LLVM et Clang, et C ++ est désormais activé par défaut. Reportez-vous à la page de compatibilité Clang C ++ pour connaître les problèmes de migration C ++ courants.
- Objective-C: Clang inclut désormais une prise en charge expérimentale d’un ABI Objective-C mis à jour sur des plates-formes autres que Darwin. Cela inclut la prise en charge de variables d'instance non fragiles et de proxy accélérés, ainsi qu'un potentiel accru d'optimisations futures. Le nouvel ABI est utilisé lors de la compilation avec les options -fobjc-nonfragile-abi et -fgnu-runtime. Le code compilé avec ces options peut être mélangé avec du code compilé avec GCC ou clang en utilisant l'ancien ABI GNU, mais nécessite le runtime libobjc2 du projet GNUstep.
- Nouveaux avertissements: Clang contient un certain nombre de nouveaux avertissements, notamment des avertissements de contrôle (code inaccessible, instructions de retour manquantes dans une fonction non vide, etc.), des avertissements de comparaison de signe et des avertissements de chaîne de format améliorés. / li>
- Liaisons CIndex API et Python: Clang inclut désormais une API C dans la bibliothèque CIndex. Bien que nous puissions apporter des modifications à l’API à l’avenir, celle-ci est destinée à être stable et a été conçue pour être utilisée par des projets externes. Voir la documentation Clang doxygen CIndex pour plus de détails. L'API CIndex comprend également un ensemble préliminaire de liaisons Python.
- Prise en charge d'ARM: Clang prend désormais en charge ABI pour les ABI Darwin et Linux ARM. Associé à de nombreuses améliorations du backend LLVM ARM, Clang peut désormais être utilisé comme un compilateur ARM de qualité bêta.
Nouveautés dans la version 2.5:
- Clang a maintenant un nouveau pilote, qui se concentre sur la fourniture d’une interface compatible GCC.
- L'ABI X86-64 est désormais pris en charge, y compris la prise en charge du runtime Objective-C Apple 64 bits et la gestion des exceptions à coût nul.
- Le support des en-têtes précompilés est maintenant implémenté.
- Le support d'Objective-C a été considérablement amélioré au-delà de LLVM 2.4, prenant en charge de nombreuses fonctionnalités, telles que le nettoyage de la mémoire Objective-C.
- Les tableaux de longueur variable sont désormais entièrement pris en charge.
- Les initialiseurs désignés par C99 sont désormais entièrement pris en charge.
- Clang inclut désormais tous les principaux en-têtes du compilateur, y compris un tgmath.h redessiné et plusieurs autres en-têtes intrinsèques.
- Beaucoup de bogues sont corrigés et de nombreuses fonctionnalités ont été ajoutées.
Commentaires non trouvées