Gcc 9.1

Пятница, 10 мая 2019 г.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e

3 мая состоялся первый публичный выпуск девятой версии GCC: GCC 9.1. Он содержит множество существенных улучшений и добавлений по сравнению с восьмойверсией. Общие изменения Опции

Команды, принимающие размер, теперь поддерживают 64-битные значения и суффиксы для указания размера;
Добавлена опция -flive-patching, для управления оптимизациями, потенциально деструктивными для динамической замены кода;
Добавлена опция --completion для поддержки авто-дополнения в командной оболочке;
Диагностики компилятора теперь включают номера строк (-fno-diagnostics-show-line-numbers) и информацию о типах (fno-diagnostics-show-labels);
Добавлена опция -fdiagnostics-format=json для вывода диагностик в формате JSON;
Опции для указания выравнивания (-falign-functions, например) теперь могут принимать пару вариантов выравнивания;
Добавлены опции для фильтрации списка файлов (-fprofile-filter-files, -fprofile-exclude-files), которые подвергаются инструментированию профилировщиком;
AddressSanitizer теперь использует более компактное выравнивание для отлова некорректных обращений к переменным на стеке;
Многочисленные улучшения в выводе -fopt-info;
Добавлена опция -fsave-optimization-record для сохранения отчёта об оптимизациях в файл;
Добавлена опция -fipa-stack-alignment и -fipa-reference-addressable.

Новые встроенные функции

Новый атрибут Другое

Многочисленные улучшения кодогенерации связанные с:

генерацией switch-конструкций;
меж-процедурными оптимизациями;
оптимизацией, основанной на информации о профилированнии;
оптимизацией на этапе сборки (LTO);

Также внутренним форматом gcov теперь является JSON, а новая опция --use-hotness-colors включает раскрашивание строк кода в зависимости от частоты их использования. Языки

Качество и полнота реализации OpenACC в языках C, C++, и Fortran продолжают улучшаться. С-подобные языки

Реализована частичная поддержка OpenMP 5.0;
Добавлена функция __builtin_convertvector;
Добавлено предупреждение -Waddress-of-packed-member;
Улучшения в ряде существующих предупреждений;
Текст ошибки при передаче в макрос неправильного количества аргументов теперь включает объявление самого макроса;
Улучшения в предложениях об исправлении опечаток.

C

Поддержка _Static_assert с одним аргументом для -std=c2x (будущий стандарт C);
Новое предупреждение -Wabsolute-value, которое отлавливает неправильный тип аргумента для таких функций как abs().

C++

Новые предупреждения: -Wdeprecated-copy, -Winit-list-lifetime, -Wredundant-move, -Wpessimizing-move, -Wclass-conversion;
Ведётся работа по реализации новых возможностей из будущего стандарта C++ 2a;
Фронтенд теперь сохраняет более точную информацию о ряде элементов исходного кода, что позволяет отображать более детальную информацию в диагностиках;
Улучшены диагностики для перегруженных функций, бинарных операторов, вызовов функций и строк, задающих формат;
Добавлены поддерживаемые некоторыми средами разработки автоматические исправления для ряда популярных ошибок (отсутствующие скобки, пространства имён, опечатки и т.д.).

libstdc++

Реализация C++17 более не является экспериментальной;
Добавлены параллельные алгоритмы, , , а  больше не требует -lstdc++fs;
Улучшена экспериментальная поддержка C++ 2a (, , std::bind_front и т.д.);
Поддержка открытия потоков файлов на Windows, пути к которым содержат символы, выходящие за рамки char;
Начальная поддержка на Windows;
Начальная поддержка Networking TS.

D

Язык D версии 2.076 включён в состав GCC. Fortran

Полная поддержка асинхронного ввода/вывода;
Реализован аргумент BACK для MINLOC и MAXLOC;
Реализованы функции FINDLOC и IS_CONTIGUOUS;
Реализован синтаксис доступа к составным частям комплексных чисел: c%re и c%im;
Реализован синтаксис str%len и a%kind;
Реализованы дескрипторы C и заголовок ISO_Fortran_binding.h;
Ослаблены требования на результат функций MAX и MIN, когда один из аргументов является NaN;
Добавлена опция -fdec-include;
Добавлена директива BUILTIN.

libgccjit Другое

Множество архитектурно- и ОС-специфичных изменений.

>>> Серия релизов девятой ветки GCC

>>> Руководства пользователя

>>> Подробности

Следите за нами в ВКонтакте, Facebook'e и Twitter'e


Просмотров: 862
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003