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 (ok), 19:32, 21/04/2009 [^] [ответить]    [к модератору]
  • +/
    11%
     
     
  • 3.9, User294 (??), 19:57, 21/04/2009 [^] [ответить]    [к модератору]
  • +/
    > 11%

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

     
  • 1.7, Аноним (-), 19:39, 21/04/2009 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    > что позволяет генерировать в GCC любой код, независимо от лицензии под которой он будет распространяться

    А раньше нельзя было?

     
     
  • 2.19, arachnid (??), 08:42, 22/04/2009 [^] [ответить]    [к модератору]
  • +/
    >> что позволяет генерировать в GCC любой код, независимо от лицензии под которой он будет распространяться
    >
    >А раньше нельзя было?

    раньше были сомнения. по крайней мере именно поэтому freebsd для системы использует gcc с лицензией gplv2

     
     
  • 3.22, Andrey Mitrofanov (?), 16:47, 22/04/2009 [^] [ответить]    [к модератору]  
  • +/
    >>> что позволяет генерировать в GCC любой код, независимо от лицензии под которой он будет распространяться
    >>А раньше нельзя было?

    Как текст в новости, так и выдернутая из него без контекста цитата -- совсем ни о чём и не о том. У меня почему-то такое впечатление, что GPLv3 и исключения для линковки генерируемого кода с библиотеками -- совсем не про "позволяет генерировать в GCC любой код". Наверное, я слишком серьёзно отношусь к своим впечатлениям.

    >раньше были сомнения. по крайней мере именно поэтому freebsd для системы использует
    >gcc с лицензией gplv2

    Угу, и каждый год 1-го апреля переходят с gcc... многия лета. На tcc, pcc, icc, llvm, ... Интересы "коммерческих пользователей" обязывают?

     
     
  • 4.23, arachnid (ok), 17:10, 22/04/2009 [^] [ответить]    [к модератору]  
  • +/
    >[оверквотинг удален]
    >-- совсем ни о чём и не о том. У меня
    >почему-то такое впечатление, что GPLv3 и исключения для линковки генерируемого кода
    >с библиотеками -- совсем не про "позволяет генерировать в GCC любой
    >код". Наверное, я слишком серьёзно отношусь к своим впечатлениям.
    >
    >>раньше были сомнения. по крайней мере именно поэтому freebsd для системы использует
    >>gcc с лицензией gplv2
    >
    >Угу, и каждый год 1-го апреля переходят с gcc... многия лета. На
    >tcc, pcc, icc, llvm, ... Интересы "коммерческих пользователей" обязывают?

    давайте так - среди разработчиков free были непонятки с лицензией gplv3, о чем можно почитать в рассылке. что я ам прочел, то и изложил. со всеми уточнениями - а авторам

     
  • 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, Осторожный (ok), 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 (ok), 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-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor