Выпущен кандидат в релизы GCC 4.8

Jakub Jelinek, разработчик из компании Red Hat, анонсировал первый кандидат в релизы набора компиляторов GCC 4.8. Если не возникнет непредвиденных проблем, финальный релиз ожидается в конце недели.

Наиболее видными изменениями станут:

  • Кодовая база компилятора переведена на использование языка C++. Основной код по прежнему остаётся на языке Си, но некоторые части были переписана на C++, допускается включение новых компонентов на языке C++ и для сборки обязательно требуется компилятор С++.
  • Новый уровень оптимизации «-Og», нацеленный на то, чтобы сделать отладку более удобным и приятным процессом. В данном режиме сокращается время компиляции, а компилятор производит только минимальные оптимизации не влияющие на результаты при отладке;
  • Поддержка новых чипов семейства Intel Haswell, а также AMD Jaguar и Steamroller.
  • Реализация Address Sanitizer (-fsanitize=address) и Thread Sanitizer (-fsanitize=thread):
    • Address Sanitizer — разработанное компанией Google средство для выявления некорректных обращений к памяти. С его помощью можно выявлять обращение к областям памяти, после их освобождения («use-after-free»), разрушение кучи, стека, а также переполнение буферов. Использование Address Sanitizer может замедлить работу программы примерно в два раза.
    • Thread Sanitizer — режим обнаружения состояния «гонок» при совместном доступе к одним и тем же данным из различных тредов. Thread Sanitizer базируется на коде из программы Valgrind. Использование Thread Sanitizer может очень сильно (~в 10 раз) замедлить работу программы.
  • Улучшения в поддержке стандартов C++11 и C11, а также реализация ряда возможностей будущего стандарта C++1y.
  • Ряд улучшений в оптимизациях при генерации кода.
  • Серия улучшений в поддержке архитектуры ARM.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.