3 мая 2017, 05:30
GCC 7.1 — крупное обновление свободных компиляторов к 30-летию проекта
Логотип GNU GCC
Иллюстрация с сайта En.Wikipedia.Org
Иллюстрация с сайта En.Wikipedia.Org
Вчера был анонсирован новый крупный выпуск набора свободных компиляторов проекта GNU — GCC 7.1. Релиз приурочен к 30-летию с момента релиза GNU Compiler Collection 1.0 (состоялся 23 мая 1987 года).
GCC 7.1 — первый крупный релиз из ветки 7.x, содержащий новые возможности, которых не было в GCC 6.x и более ранних версиях. Среди наиболее значимых изменений, представленных в обновлении свободных компиляторов от проекта GNU, можно выделить следующие:
- во фронтенде языка C++ добавлена экспериментальная поддержка всех возможностей нового (пока ещё чернового) стандарта C++17 (включается с помощью -std=c++1z и -std=gnu++1z), а в библиотеке libstdc++ реализовано большинство возможностей C++17;
- диагностика допускаемых в коде ошибок стала более развитой, получив дополнительные проверки и вывод новых предупреждений в ряде ситуаций;
- значительные улучшения в оптимизиторах;
- Address Sanitizer теперь сообщает об использовании переменных вне области их видимости;
- многочисленные улучшения, помогающие обнаружить переполнение буфера и другие виды некорректных обращений к памяти для семейства языков C;
- расширения Cilk+ для языков C и C++ объявлены устаревшими;
- возможность конфигурации GCC для использования OpenMP 4.5, чтобы перенести вычисления на видеопроцессоры NVIDIA (PTX в CUDA);
- для новых целевых платформ GCC по умолчанию использует свой новый распределитель регистров (LRA, local register allocator);
- добавлена поддержка стандарта отладочной информации DWARF 5;
- добавлена поддержка обработки файлов BRIG 1.0 — бинарного формата, используемого для HSAIL (Heterogeneous System Architecture Intermediate Language);
- полная реализация пользовательских пакетов Go 1.8.1;
- Java-фронтенд (GCJ) и связанная с ним runtime-библиотека libjava удалены из GCC;
- улучшения в поддержке архитектуры ARM: ARMv8.2-A и ARMv8.2-A 16-bit Floating-Point Extensions, ARMv8.3-A, а также ряда процессоров (включая ARM Cortex-A73, Broadcom Vulcan, Qualcomm Falkor);
- добавлена поддержка набора инструкций RISC-V;
- добавлена поддержка операционной системы Fuchsia OS.
Информация о портировании кода на GCC 7 представлена в этом документе.
Постоянная ссылка к новости: http://www.nixp.ru/news/14014.html. Дмитрий Шурупов по материалам mail-archive.com, gcc.gnu.org.
Комментировать
(0)
23 июня 2017
11:31
Язык D принят для включения в набор компиляторов GCC 1
5 января 2017
13:40
Google выпустила Grumpy для трансляции кода Python на язык Go и лучшей производительности 1
23 апреля 2015
13:24
GNU GCC 5.1 — первый крупный релиз в ветке GCC 5.x 2 3
3 марта 2015
09:01
Свободная система баг-трекинга GNU GNATS обновилась до версии 4.2.0 1
26 февраля 2013
15:04
Ruby 2.0.0 — релиз к 20-летнему юбилею языка программирования 1 1
22 марта 2012
18:37
Релиз GCC 4.7.0 отмечает 25-летие проекта 8
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.