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)
Ответ на: комментарий от anonymous

Теперь пора идти и писать нормальный компилятор на Си под Си+Asm. Давно хотел эту связку сделать.

У тебя ничего хорошего не получится. В первую очередь потому, что ты тупой. Ну и Си - не самый подходящий язык для написания компиляторов. Умный, конечно же, справится, и неплохо справится (см. tcc), а тупица вроде тебя только жидко обделается.

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

ООП даёт более простую реализацию паттерна visitor, который всё равно приходится пересоздавать в любом компиляторе,

Его «приходится использовать» только если компилятор написан на говняном языке без pattern matching. Там, где есть ADT и pattern matching, никаких убогих визиторов не надо (да и ООПу там не место).

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

Пипец, неосиляторы. Пришел, и все расставил по местам. Эклипс - говно, Java, оказывается, тоже говно. Потому что поставить не сумел. Иди, напиши это на картонке и постой в переходе, авось мелочи накидают из жалости. На нормальных дистрах все идет без проблем.

Вы свои идеи оставьте для своих детей.

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

Там в комментах человек уже всё сказал.

Вы очень избирательно читаете комментарии.

И какой же комментарий я пропустил?

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

ADT Bundle и под Windows XP на 4 ГБ умудряется невыносимо тормозить.

Под виндой не пробовал, но не удивлен.

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

И какой же комментарий я пропустил?

К примеру мои.

Нет. Другое дело, что я не увидел в них ничего, кроме «Eclipse и Java говно, vim рулит». А я присоединяюсь к:

У тебя вывод довольно однобокий - у меня не пашет, значит java говно. У Андроид не было бы такой популярности, если бы оно работало только под виндой. Масса разрабов сидит под линухом и что то не видно стенаний в социальных сетях как же всё плохо... )

Я бы, конечно, резче сказал, но смысл тот же.

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

К примеру мои.

Нет. Другое дело, что я не увидел в них ничего, кроме «Eclipse и Java говно, vim рулит». А я присоединяюсь к:

// поскипано

Вот мой ответ, который вы игнорите:

«А какой вывод я должен сделать, если ява у одного работает, а у другого нет?»

и

«Не зря в knowledge base google документы пишутся не только с оглядкой на eclipse, но и на консольщиков.»

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

«А какой вывод я должен сделать, если ява у одного работает, а у другого нет?»

А ровно такой же, как и о любом другом софте. Например, у меня никогда не было 12309, а у кого-то он был - делает ли это Linux говном?

«Не зря в knowledge base google документы пишутся не только с оглядкой на eclipse, но и на консольщиков.»

И какой же вывод ты сделал из этого?

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

Нет, ламер, ни хера подобного. Ты невменяем, как и все прочие ООПодрочеры. Напоминаю для выродков: в pattern matching могут быть сложные вложенные шаблоны, а твой гомосяцкий visitor это тупо dispatch по тагу.

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

Утютю. Посмотри на instcombine pass в llvm, на эти лесенки из if-ов, тогда и поймешь, зачем pattern matching.

Вообще гнило, когда не писавшее компиляторов ламо начинает рассуждать и поучать. Ламеры обязаны молчать а тряпку.

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

От сложенных вложенных шаблонов в разработке компиляторов толку нуль.

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

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

Утютю. Посмотри на instcombine pass в llvm, на эти лесенки из if-ов, тогда и поймешь, зачем pattern matching

Смотрю и не вижу, зачем там паттерн матчинг, если даже от визитора отказались. Или в фентезийном мире накладные расходы на паттерн матчинг равны дереву свитчей?

Вообще гнило, когда не писавшее компиляторов ламо начинает рассуждать и поучать. Ламеры обязаны молчать а тряпку.

И сколько компиляторов вы похакаете за каникулы?

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

Ты тупой, как дрова! Pattern matching - это удобный и читабельный сахар как раз и раскрывающийся в лесенки if-ов. Никаких накладных расходов там нет и быть не может.

И да, мне платят деньги за программирование компиляторов. Последние лет 10 уже платят. Так что лучше б ты не спорил, а молчал и слушал специалиста.

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

...А главные спонсоры Eclipse — Google, Novell, IBM, Oracle — стали неадекватными?.. :-)

Не зря же гугель в доках кроме как тыкать мышой рассказывает, как это же сделать в консоли.

Google еще и зафиксировали старую версию в своем sdk. Там все проблемы знакомые :)

x86_64 ★★★
()
2 мая 2013 г.
Ответ на: комментарий от Deleted

gcc-4.8+cuda

Здравствуйте? Я думаю вы уже нашли способ.) Поделитесь, если не секрет)))
зы: вот что-то, но не пойму что http://permalink.gmane.org/gmane.linux.arch.scm/128818

brothermechanic ★★★★★
()
Последнее исправление: brothermechanic (всего исправлений: 2)
Ответ на: gcc-4.8+cuda от brothermechanic

Благодарю, похоже на то что нужно. Буду пробывать после 10 мая. Сейчас мой сервер на отдыхе.

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