LINUX.ORG.RU

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

 , ,


0

0

Вышел набор компиляторов 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 ошибок.

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

Re: Официальный релиз набора компиляторов GCC 4.4.0

>Gentoo 64 хороша еще и тем , что более гибко управляются зависимости пакетов.

Очень часто эта гибкость заканчивается локальными оверлеями с исправленными ебилдами.

>и собираю я с -march=pentium4 , для ноута.

это что за ноут такой у тебя ? (мну собирает nocona)

unrealix ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

asus a6r, cel 1.7, 2 Gb RAM
и да.. ужасная ATI x200m

не устраивает в нем только общая глючность железок, тяжелый и сравнительно недолго работает от аккумулятора, если и буду менять , то только из за веса и батареек

Sylvia ★★★★★ ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

>строковые функции больше не принимают "char*" вместо "const char*"

Упал, не встал. (с) Вообще-то там

Some of the standard C++ library include files have been edited to use replacement overloads for some common C library functions (if available), with the goal of improving const-correctness: functions passed a const char* return const char*.

Переводчика на мыло.

devinull ★★ ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

>http://www.tdragon.net/recentgcc/
>А ты им пробовал что нить собирать? О_о У меня Кутя в итоге >сегфолтилась при ресайзе окошка %)

Qt 4.5.0 собирается без "грязных хаков" , но оффициально троллями поддерживается только gcc 3.4.x(mingw)
Честно говоря запарил dllimport баг при передекларировании функции (gcc 4.3.x)

kitov ★★★ ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

Ура, товарищи! Все на компиляцию GCC! Не забываем предварительно собрать библиотеки ppl и cloog.

alexeiz ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

> К сожалению, per package cflags в генте будут еще не скоро :(

К portage - прикручиваются (нужно только порыть нужный bashrc). А в paludis даже в их примере приведены - http://paludis.pioto.org/configuration/bashrc.html

Ruth ★★ ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

> Когда-же MinGW переведут на 4-ую ветку GCC???

Не нужно MinGW. У виндузятников свой нестандартный cl. Пускай это мелкософт сделает на основе gcc нормальный компайлер.

GCC - это для Юниксов и UNIX-like.

Интересно, а мелкософт, видать, тоже для своего Office 2008 gcc пользует. :)

Bioreactor ★★★★★ ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

>К portage - прикручиваются (нужно только порыть нужный bashrc)

У меня per-packages cflags для icc и gcc.

Теперь бы придумать, как _разные_ gcc использовать для разных пакетов. Тогда решится до кучи проблема с несобираемыми gcc-4.3 пакетами :)

KRoN73 ★★★★★ ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

автоматическое распараллеливание
ты еще не успел об этом подумать , а оно уже есть

kto_tama ★★★★★ ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

Вот что-что, а gcc я в системе обновлять не буду, хватит, наэксперементировался в детстве, так что буду ждать новую версию дистрибутива.

Barlog_M ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

> Вот что-что, а gcc я в системе обновлять не буду, хватит, наэксперементировался в детстве, так что буду ждать новую версию дистрибутива.

Ставишь в /usr/local/bin/gcc-4.4 и все дела. Новый gcc существует параллельно с версией из дистра.

alexeiz ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

> Интересно, а мелкософт, видать, тоже для своего Office 2008 gcc пользует. :)

Пользует, пользует. Ты думаешь Office for Mac чем компилируется? Или, например, Silverlight для мака, SSCLI. Все это MinGW. Только майкрософту сильно навороченный компилятор C++ не нужен. Поэтому они пользуют то, что есть.

alexeiz ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

> "cstdio" больше не подразумевает включение "string.h", "ios.h", "iomanip.h", "streambuf.h" и "locale.h", а "stdint.h" не включает "string.h" и "ios.h"

Велика и могучее анлийскую языка, я их понимать мало-мало?

Всё строго наоборот: включение <ios> или <string> больше не подключает <stdint.h>, аналогично и с первой частью. Переводчики...

kemm ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

> строковые функции больше не принимают "char*" вместо "const char*"

Ещё один бред воспалённого мозга аффтара. Теперь нельзя сделать что-то типа:

const char *blah = ...;
char *p;

...

p = strchr(blah, ' ');


Но никто не запрещает (естественно) делать так:
int foo(const char *);

...
char *bar;
...
return foo(bar);

kemm ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

>Вот что-что, а gcc я в системе обновлять не буду, хватит, наэксперементировался в детстве, так что буду ждать новую версию дистрибутива.

Ну, я, вроде, только что per-package компиляторы произвольные у себя прописал. Так что буду ждать 4.4 на пощупать. Оптимизация для многоядерников - это очень и очень мне интересно :)

KRoN73 ★★★★★ ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

> Теперь бы придумать, как _разные_ gcc использовать для разных пакетов. Тогда решится до кучи проблема с несобираемыми gcc-4.3 пакетами :)

# gcc-config -l
# gcc-config DESIRED_GCC

Или имелось ввиду автоматическое переключение при сборке?

andreyu ★★★★★ ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

Кода вышла ветка 4.3, я переполз на нее. Свои проекты собирал с ее помощью. Народ жаловался, что у них в системе все еще 4.1.x и бинарник, естественно, у них не работает.
Пришлось откатиться 4.1.2 попутно пересобрав пол мира в системе.

В дженту уже достаточно давно 4.3.2 размаскана. Полагаю, приблизительно так же и в других дистрибутивах. Следовательно теперь можно смело переходить и на 4.3.x, и на 4.4.x.
Поправьте меня.

p.s. Да, под виндой использую mingw32-3.x.

andreyu ★★★★★ ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

Я знаю что Office 2008 на GCC делается. В отличие от Office 2007.

То есть, вместо аранживки GCC под Windows мелкософт поддерживает два очень сильно отличающиеся друг от друга офисных продукта, причем для яббла я не видел фирменного русского офиса.

Хотя в GNU/Linux (и WindoZe) кроме gcc есть еще и Tiny C. Но для очень специфичных задач, типа начальной сборки и т.п..

Bioreactor ★★★★★ ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

>Хотя в GNU/Linux (и WindoZe) кроме gcc есть еще и Tiny C.

Да, есть tcc. Вот только "вкусное" со "сладким" сравнивать не надо:

tcc - tiny C compiler

gcc - GNU compiler collection

Чем отличается "C compiler" от "compiler collection" - сам догадаешся или "разжевать"?

Led ★★★☆☆ ()

Re: Официальный релиз набора компиляторов GCC 4.4.0

А Федоровцы, тем временем, уж допилили gcc 4.4) http://tinyurl.com/cqpea7

kost-bebix ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.