The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

21.04.2009 18:25  Релиз набора компиляторов GCC 4.4.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*" (т.е. если str1 - "const char*", то "char* str2 = strchr(str1, 'a')" работать не будет); ужесточены требования к инициализации C++ классов.

Разработчики Fedora уже ранее заявили о том, что версия 11 дистрибутива будет полностью скомпилирована GCC 4.4.0. Однако, работа предстоит немалая: при попытке пересборки новым компилятором 6228 пакетов дистрибутива было зафиксировано 559 ошибок.

  1. Главная ссылка к новости (http://gcc.gnu.org/gcc-4.4/...)
  2. Список изменений
  3. Список зеркал для скачивания
  4. Прямая ссылка на релиз
  5. OpenNews: Фонд свободного ПО опубликовал лицензионное исключение на GCC Runtime
  6. OpenNews: Intel готовится произвести большую передачу кода проекту GCC
Автор новости: Artem S. Tashkinov
Тип: Интересно / Программы
Ключевые слова: gcc
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.5, User294, 19:30, 21/04/2009 [ответить] [смотреть все]
  • +/
    Нехилый список изменений, респекты разработчикам - внушает.Интересно, насколько от этого глюков прибавится? :)
     
     
  • 2.6, pavlinux, 19:32, 21/04/2009 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    11%
     
     
  • 3.9, User294, 19:57, 21/04/2009 [^] [ответить] [смотреть все]
  • +/
    > 11%

    Для такого списка изменений - это было бы довольно неплохо.

     
  • 1.7, Аноним, 19:39, 21/04/2009 [ответить] [смотреть все]
  • +/
    А раньше нельзя было ... весь текст скрыт [показать]
     
     
  • 2.19, arachnid, 08:42, 22/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    раньше были сомнения по крайней мере именно поэтому freebsd для системы использ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, Andrey Mitrofanov, 16:47, 22/04/2009 [^] [ответить] [смотреть все]  
  • +/
    Как текст в новости, так и выдернутая из него без контекста цитата -- совсем ни ... весь текст скрыт [показать]
     
     
  • 4.23, arachnid, 17:10, 22/04/2009 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален давайте так - среди разработчиков free были непонятки с ... весь текст скрыт [показать]
     
  • 1.8, Probirker, 19:41, 21/04/2009 [ответить] [смотреть все]  
  • +/
    Расскажите кто в теме плиз, а поддержу java (gcj и classpath) там совсем забросили или как и что происходит?

    последняя новость на http://gcc.gnu.org/java/ от March 30, 2007

    Просто в статусе http://gcc.gnu.org/java/status.html говорят Status of GCJ as of GCC 3.2, а сейчас уже вон 4.4.0, получается с тех пор ничего не делали? Или страницу не обновили?

    На http://www.gnu.org/software/classpath/ вроде чуть получше, не так давно релиз был, но всё равно жабой 1.6 там вроде не пахнет и совершенно непонятно как он связан с gcj, если последнего забросили два года назад...

    Хочется мне знать, продолжать мечатать об ahead-of-time компиляции в нативный код или забыть об этом напрочь и не мучить себя понапрасну.

    ЗЫ Большая, огромная и убедительная просьба троллей с воплями "жаба аццтой, пиши на c++/qt" и иже с ними промолчать. Вопрос не об этом.

     
     
  • 2.12, Guest, 20:30, 21/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >Ну вот теперь может и во фряхе обновят копилятор :)

    Хорошо бы.

     
     
  • 3.14, Осторожный, 21:57, 21/04/2009 [^] [ответить] [смотреть все]  
  • +/
    Не понял в чем проблема - в портах есть gcc42, gcc43, gcc44, gcc45 Бери любой и ... весь текст скрыт [показать]
     
     
  • 4.18, Guest, 03:11, 22/04/2009 [^] [ответить] [смотреть все]  
  • +/
    Порты это порты, а базовая система это базовая система.
     
  • 2.16, А, 00:35, 22/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    По моему, просто отдельный сайт для него забили поддерживать Список рассылки ак... весь текст скрыт [показать] [показать ветку]
     
  • 1.13, zLoj, 21:27, 21/04/2009 [ответить] [смотреть все]  
  • +/
    Napisano "April 21, 2008". :)
    Novost' iz proshlogo.
     
  • 1.15, NegatiV, 22:46, 21/04/2009 [ответить] [смотреть все]  
  • +/
    ядро и модули собрались без проблем. ура!)
     
  • 1.17, Ivan, 01:19, 22/04/2009 [ответить] [смотреть все]  
  • +/
    > строковые функции больше не принимают "char*" вместо "const char*"

    Жесть

     
     
  • 2.20, mike lee, 09:12, 22/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    похоже что это особенности перевода.

    "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*."

    Как я понимаю теперь сделали по правильному - две перегрузки - константная принимающая const char* и его же возвращающая и обычная, работающая с неконстантыми типами. это дает соптимизировать констнантную версию. Т.е. вот это не прокатит:

    const char* str1;
    char* str2 = strchr(str1, 'a');
    т.к. должен быть const char* str2.

    http://gcc.gnu.org/gcc-4.4/porting_to.html

     
  • 1.21, Аноним, 11:43, 22/04/2009 [ответить] [смотреть все]  
  • +/
    А другие компиляторы, веб-, 3D-редакторы, не могут, значит, создавать несвободно... весь текст скрыт [показать]
     
     
  • 2.24, Аноним, 13:20, 23/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Серьёзно, только об 1 плюсе слышал GPL 3 0 Значит, набранное в GPL 3 0 текстово... весь текст скрыт [показать] [показать ветку]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor