Официальный выпуск набора компиляторов GCC 4.4.0

Теги:GCC, GNU, compilers

Вышел набор компиляторов GCC 4.4.0 с измененным лицензионным соглашением на runtime - "GCC RUNTIME LIBRARY EXCEPTION", убирающим некоторые ограничения лицензии GPLv3 для Runtime компонент набора компиляторов, что позволяет генерировать в GCC любой код, независимо от лицензии под которой он будет распространяться (например, в качестве runtime сейчас можно использовать код для обеспечения работы виртуальных машин, обрабатывающих байткод, в том числе Java).

Основные изменения по сравнению с веткой GCC 4.3.x:

* Добавлен оптимизатор Graphite, основанный на полиэдральном промежуточном представлении - технологии оптимизации для обеспечения параллельного выполнения циклических операций. Оптимизация касается всех языков, поддерживаемых GCC. Разработка позволяет намного увеличить производительность обычных приложений на многоядерных процессорах, созданных без использования специальных библиотек распараллеливания, например, Threading Building Blocks.

* Добавлены новый аллокатор регистров (IRA - integrated register allocator) и новый планировщик расстановки инструкций.

* Новые опции оптимизации: "-findirect-inlining", "-ftree-switch-conversion", "-ftree-builtin-call-dce" и "-fconserve-stack";

* Новые опции предупреждения о потенциальных ошибках в коде: "-Wparentheses", "-Wsequence-points", "-Wconversion", "-Wuninitialized" и т.д.

* Реализована поддержка версии 3 спецификации OpenMP (API для параллельных вычислений);

* Улучшена поддержка грядущего С++ стандарта C++0x, например, в libstdc++ добавлены заголовочные файлы chrono, condition_variable, cstdatomic, forward_list, initializer_list, mutex, ratio, system_error и thread;

* Произошли множественные изменения в поддержке языков C/C++/Fortran;

* Улучшена поддержка уже поддерживаемых архитектур: добавлены средства оптимизации для CPU ARM Cortex-A9, Cortex-R4 и Cortex-R4F, PowerPC e300c2, e300c3, e500mc, IBM System z10 EC/BC; добавлена поддержка встроенных функций Intel AES, Intel PCLMUL, Intel AVX; улучшена поддержка архитектур MIPS, AVR, IA-32/x86-64, IA-32/IA64, PowerPC и т.д.

* GCC стал считать ошибками некоторые программисткие "решения", которые компилировались ранее. Например, сейчас не функционирует "#elif" без аргумента; "cstdio" больше не подразумевает включение "string.h", "ios.h", "iomanip.h", "streambuf.h" и "locale.h", а "stdint.h" не включает "string.h" и "ios.h". ; строковые функции больше не принимают "char*" вместо "const char*"; ужесточены требования к инициализации C++ классов. Разработчики Fedora уже ранее заявили о том, что версия 11 дистрибутива будет полностью скомпилирована GCC 4.4.0. Однако, работа предстоит немалая: при попытке пересборки новым компилятором 6228 пакетов дистрибутива было зафиксировано 559 ошибок.

www.securitylab.ru

публикации сходной тематики

Комментирование закрыто.

 

При наполнении сайта использована информация из открытых источников. Владелец сайта не несет ответственности за недостоверную и заведомо ложную информацию размещенную на страницах сайта. При использовании информации опубликованной на нашем сайте, ссылка обязательна.

Реклама на сайте: