LINUX.ORG.RU

Вышел GCC 4.8.0

 


1

4

Вышла новая версия набора компиляторов GNU — 4.8.0. Среди нововведений:

  • Теперь для сборки GCC требуется компилятор С++.
  • Формат отладочной информации по умолчанию изменён на DWARF4, который поддерживается в GDB 7.5, Valgrind 3.8.0 и elfutils 0.154.
  • Добавлен новый уровень оптимизации -Og, предназначенный для быстрой компиляции и отладки, обеспечивая при этом приемлемую производительность.
  • Убран ряд узких мест в оптимизаторе, что существенно ускорило компиляцию чрезвычайно больших функций.
  • Добавлены AddressSanitizer (быстрый детектор ошибок работы с памятью) и ThreadSanitizer (детектор гонок данных).
  • Улучшены сообщения об ошибках, исходная строка выводится полностью, а колонка с ошибкой отмечается знаком ^. Опция ftrack-macro-expansion=2 теперь включена по умолчанию, что показывает стек раскрытия макросов:
    t.c:1:94: error: invalid operands to binary < (have ‘struct mystruct’ and ‘float’)
     #define MYMAX(A,B)    __extension__ ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __b : __a; })
                                                                                                  ^
    t.c:7:7: note: in expansion of macro 'MYMAX'
       X = MYMAX(P, F);
    
  • Улучшена поддержка стандарта C++11: поддерживается ключевое слово thread_local, синтаксис атрибутов, спецификаторов выравнивания и наследование конструкторов. Также добавлена опция -std=C++1y для поддержки будущего стандарта, пока она добавляет только возможность автоматического определения типа результата в определении функций.
  • Реализована предварительная версия языка Go 1.1.
  • Добавлена поддержка архитектуры AArch64.

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

★★★★★

Проверено: post-factum ()
Последнее исправление: post-factum (всего исправлений: 8)
Ответ на: комментарий от x4DA

C++ просто нежить. (Не имея моральных ценностей захватывает мир и пожирает мозги новобранцев).
У Java оракловая опухоль.
Actionscript (в виде flash) постоянно жалуется на артрит и головные боли.
C# имеет криминальное прошлое и неясное будущее.
Lisp болеет тяжёлой формой смайлофилии.

Ассемблер - вечен, как Пушкин или Шевченко, но он уже в истории.

KennyMinigun ★★★★★
()
Ответ на: комментарий от anonymous

Ой сейчас начнется..... Все незаинтересованные в укрытие. По теме - поддерживаю. Питон годен, особенно там, где не нужна производительность.

anonymous
()
Ответ на: комментарий от Begemoth

Сейчас GCC написан на C++, а не только собирается компилятором С++.

ох и лжец ;)

gcc никто не переписывал. он как был на сцях, так и остался. сейчас можно вести разработку gcc с использованием С++.

niXman ★★★
()
Ответ на: комментарий от Kroz

которые нереально распарсить?

корректировочка:

которые моему мозгу нереально распарсить?

niXman ★★★
()

И как теперь с этим жить?

gray ★★★★★
()
Ответ на: комментарий от niXman

4.8.0 сейчас собирается и с использованием только Си-компилятора. я-то это точно знаю ;)

сообщи об этом разработчикам gcc, а то они такую ересь у себя на сайте пишут:

GCC now uses C++ as its implementation language. This means that to build GCC from sources, you will need a C++ compiler that understands C++ 2003

anonymous
()
Ответ на: комментарий от niXman

gcc никто не переписывал. он как был на сцях, так и остался. сейчас можно вести разработку gcc с использованием С++.

Части переписалия на С++, это уже стало языком С?

Begemoth ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Всё ещё хуже, в исходниках такую ересь пишут:

template<typename, typename, typename> struct vec;
Begemoth ★★★★★
() автор топика

Теперь для сборки GCC требуется компилятор С++

RIP

buddhist ★★★★★
()
Ответ на: комментарий от mva

Ну и зачем мне багзилла если меня интересует ебилд в основном дереве?

init_6 ★★★★★
()
Ответ на: комментарий от Begemoth

про vec.h я знаю. он точно на плюсах. остальное без изменений.

поэтому не нужно писать так, как будто компилятор переписали на плюсы. это же ЛОР, тут все поведутся =)

niXman ★★★
()

Ну что же - годный пинок под сраку от clang/llvm получили - даже что-то делать начали в плане улучшений и оптимизаций :)

alex-w ★★★★★
()

Интересно, а зачем так старательно заталкивают go в gcc? Кто знает правильный ответ без аналитики?

imul ★★★★★
()

Уже даже в экспериментальной ветке дебиана есть! Был уверен, что не раньше понедельника обновят последний срез.

gag ★★★★★
()
Ответ на: комментарий от niXman

остальное без изменений.

Так в дебиане на будущее сделали зависимость от g++-multilib?

gag ★★★★★
()
Последнее исправление: gag (всего исправлений: 1)
Ответ на: комментарий от x0r

c++, java и lisp это все хорошо, но как насчет языков программирования?

У меня на андроиде Handcent SMS сильно лагает всего лишь при прокрутке списка сообщений. Чем сие творчество так умудряется занять 4 ядра по 1.6 ГГц я не могу даже представить, но там всего лишь обезображенная Dalvik'ом Java. А как у твоих «языков программирования» с производительностью продукта компиляции?

m0rph ★★★★★
()
Ответ на: комментарий от imul

А его не заталкивают, просто есть кому писать и сопровождать код.

quiet_readonly ★★★★
()
Ответ на: комментарий от x4DA

Может быть и легче, но от этого нужность C++ выше не становится.

Extraterrestrial ★★★★★
()
Ответ на: комментарий от x0r

c++, java и lisp это все хорошо, но как насчет языков программирования?

Плюсую.

Extraterrestrial ★★★★★
()
Ответ на: комментарий от quiet_readonly

Но сейчас gcc не использует ни ООП (

и вряд ли будет использовать

kto_tama ★★★★★
()
Ответ на: комментарий от JackYF

Интересно, в какой версии наконец-то реализуют std::regex.

тоже интересно

Stil ★★★★★
()
Ответ на: комментарий от bhfq
[[noreturn]] void f() {
 usart_printf("Now, booting linux kernel\n");
 usart_flush();
 asm("j kernel_entry");
}
AiFiLTr0 ★★★★★
()
Последнее исправление: AiFiLTr0 (всего исправлений: 2)

Улучшены сообщения об ошибках, исходная строка выводится полностью, а колонка с ошибкой отмечается знаком ^. Опция ftrack-macro-expansion=2 теперь включена по умолчанию, что показывает стек раскрытия макросов:

Наконец-то! Take that clang!

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от quiet_readonly

Программисты налажали, не java.

Что-то я еще в своей жизни ни разу не видел нетормозной программы на java.

Pavval ★★★★★
()

. Также добавлена опция -std=C++1y для поддержки будущего стандарта, пока она добавляет только возможность автоматического определения типа результата в определении функций.

А разве это не из 11 стандарта?

anonymous
()
Ответ на: комментарий от anonymous

А разве это не из 11 стандарта?

Нет. Это синтаксис типа

auto f(int a, int b) { return a + b; }

А не как в C++11:

auto f(int a, int b) -> decltype(a+b) { return a + b; }
Pavval ★★★★★
()
Ответ на: комментарий от RedPossum

Я не про сайты, а про проги. Скорость сайта одиночный пользователь не заценит. Все остальное тормозит.

Pavval ★★★★★
()

Begemoth, подскажи, это ты любитель гeй-фонов с рутрекера, который в каждой теме про эппл хвалит их анально-огорожденную продукцию?

anonymous
()

Улучшена поддержка стандарта C++11 (из новости про GCC)

расширена поддержка стандарта C++11 (из новости про Qt Creator)

С++11 ещё много лет будет идти первой строкой в разделах «Что нового». :)

Stalin ★★★★★
()
Ответ на: комментарий от Stalin

Менее двух лет - это много? Следущий стандарт языка ожидается в 2014 году (вряд-ли сильно задержится, там не планируется масштабных изменений, их отложат до С++17).

Begemoth ★★★★★
() автор топика
Последнее исправление: Begemoth (всего исправлений: 1)
Ответ на: комментарий от Begemoth

Следущий стандарт языка ожидается в 2014 году (вряд-ли сильно задержится, там не планируется масштабных изменений

То есть никаких концептов?

tailgunner ★★★★★
()
Ответ на: комментарий от Stalin

С++11 ещё много лет будет идти первой строкой в разделах «Что нового». :)

ЕМНИП GCC 4.8 только одной вещи не хватает до полной языковой поддержки языка С++11 (Rvalue references for *this). Ну и библиотеку еще допиливать.

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