LINUX.ORG.RU

GCC 6.1

 , ,


1

5

Состоялся релиз GCC 6.1 — набора свободных компиляторов с открытым исходным кодом. Основным новшеством стало применением в компиляторе C++ по умолчанию стандарта C++14 и улучшение экспериментальной поддержки C++17. Кроме того расширены средства диагностики, заявлена полная совместимость с OpenMP 4.5 и поддержка системной библиотеки musl. Также заявлено об улучшении поддержки платформ ARM и поддержке процессоров AMD Zen, Intel Skylake, IBM z13 и IBM POWER 9.

Основные изменения:

  • Активировано по умолчанию для языка C++ использование стандарта C++14 (применяется режим -std=gnu++14 вместо -std=gnu++98). Кроме того добавлена поддержка расширения системы шаблонов C++ Concepts, активируемая опцией -fconcepts. Реализованы некоторые новые элементы будущего стандарта C++17, такие как выражения fold, символьные литералы u8, расширенный static_assert и вложенное определение пространств имён. Реализована возможность вычисления констант для всех бестиповых аргументов шаблонов. Добавлена поддержка транзакционной памяти (C++ Transactional Memory) при сборке с опцией -fgnu-tm;
  • Для runtime-библиотеки libstdc++ расширен набор специальных математических функций (ISO/IEC 29124:2010), добавлена экспериментальная поддержка стандарта C++17 (в том числе новые функции std::size, std::empty, std::data для контейнеров и массивов, std::uncaught_exceptions, std::invoke, std::shared_mutex, std::void_t и std::bool_constant), экспериментальная поддержка File System TS, экспериментальная поддержка второй версии Library Fundamentals TS, поддержка std::locale для DragonFly и FreeBSD;
  • Появилась поддержка Си-библиотеки musl, которую можно использовать на Linux-системах с архитектурой AArch64, ARM, MicroBlaze, MIPS, MIPS64, PowerPC, PowerPC64, SH, i386, x32 и x86_64. Поддержка включается опцией -mmusl или при выборе архитектуры по маске *-linux-musl*.

>>> Подробности (на английском языке)

★★★★★

Проверено: Klymedy ()
Последнее исправление: Klymedy (всего исправлений: 2)
Ответ на: комментарий от darkenshvein

Да нормально, пусть народ концепты щупает активно.

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

Чем оно лучше Clang?

В общем GCC делает более производительный код для плюсов и местами существнно лучше. Шланг в основном показывает лучшие результаты на синтетических тестах.

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

Нужно взять свой проект, собрать его gcc и clang, а результаты скорости сборки и скорости исполнения сравнить.

На каком проекте? GROMACS может быть? Или FFTW? Или может быть Firefox, LibreOffice?

http://samag.ru/archive/article/428 http://samag.ru/archive/article/449 http://samag.ru/archive/article/465 надо делать сравнение на уровне выдаваемого ассемблера, и чтобы быть до конца объективным, надо сделать кучу таких сравнений(намного больше чем по ссылкам), при этом взяв реальные куски программ, и по итогам сравнения отчитаться и забагрепортить разрабам(у меня действительно воникало острое желание забагрепортить после просмотра кода, выдаваемого как gcc так и clang).

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

Что тебе понятно? Я в колледже когда-то учил C(в 90-х, в Кишиневе). A Object Pascal более продуманный язык чем C++. Да и не «более», а вообще продуманный, в отличии. Для меня OPаscal ассоциируется с Германией, Бразилией, Италией, ЮАР и т.д., потому нет никакого ощущения ущербности от ассоциации с российскими шаражками.

Хотя что может знать россиянин... Догмы догмы догмы и мифологизация мира.

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

Если бы не clang, то gcc не развивался бы вообще.

Интересно, как же он тогда развивался, когда clang не существовал вообще?

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

Хотя что может знать россиянин...

О, «цЫвилизованный» пожаловал. Как там бремя белого человека? Не жмёт?

Догмы догмы догмы и мифологизация мира.

Эмбедщикам про своё Object Pascal расскажи, дельфушник.

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

Для меня OPаscal ассоциируется с Германией, Бразилией, Италией, ЮАР и т.д.

про другие языки такого не напишешь, верно
чойто вообще (например): «Для меня JavaScript ассоциируется с Германией, Бразилией, Италией, ЮАР и т.д.» ?

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

Для меня OPаscal ассоциируется с Германией, Бразилией, Италией, ЮАР и т.д.

Хайль Вирт?

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

Так и сделали выше по треду. Шланг проиграл.

Он проиграл только в том конкретном случае. С таким же успехом он мог бы и выиграть.

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

На каком проекте? GROMACS может быть? Или FFTW? Или может быть Firefox, LibreOffice?

На том, который вам интересен.

у меня действительно воникало острое желание забагрепортить после просмотра кода, выдаваемого как gcc так и clang

За чем же дело стало?

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

Эмбедщикам про своё Object Pascal расскажи, дельфушник.

Ой как бомбануло.

Ущербность C++ не в том что это сложная реализация(даже не язык, невзирая на стандарты). Ущербность C++ в том что его пользователи часто понятия не имеют о чём они, в сочетании с такой реализацией, это печальное зрелище. Кстати Торвальдс просто констатировал факт.

Delphi никогда не пользовал, но сама идея прекрасна. Начиная от теоретической и практической стройности языка, до подхода к созданию GUI. Читая периодически о том как делалось GUI там, в эпоху костыльного монстра HTML/CSS/JS считаю что лучше модель как в Delphi IDE.

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

A Object Pascal более продуманный язык чем C++.

Сложно найти более убогий и алогичный синтаксис, чем в паскале.
То, как реализована IDE (млять, там даже редактора текста нет адекватного; работа с проектом сделана через жопу) в Lazarus, говорит о многом.

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

Интересно, как же он тогда развивался, когда clang не существовал вообще?

Вяло, очень вяло.

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

Читая периодически о том как делалось GUI там, в эпоху костыльного монстра HTML/CSS/JS

Пока проход в Вашу реальность открыт — а что, у вас эта эпоха кончилась? Чем?

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

Это намёк был, что не только критериями скорости мерить нужно.

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

Ой как бомбануло.

А то! Пожарных даже вызвали — до сих пор горит.

Ущербность C++... его пользователи часто понятия не имеют о чём они

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

до подхода к созданию GUI

Запихать килограммы логики в обработчик события кнопки — вот к чему толкает эта ваша «прекрасная идея».

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

Сложно найти более убогий и алогичный синтаксис, чем в паскале. То, как реализована IDE (млять, там даже редактора текста нет адекватного; работа с проектом сделана через жопу) в Lazarus, говорит о многом.

Программист на C++ часто не способен мыслить как инженер, только как ремесленник использующий реализации без понимания почему так.

Kогда смотрел Lazarus, мог даже настроить клавиатуру как в Emacs. Для начала, плюсеру достаточно показать как компилируется эта IDE, а потом спросить как компилируется например KDevelop.

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

На том, который вам интересен.

И насколько данное сравнение будет полным и объективным? Может быть кто-то возразит «а чего это ты сравниваешь компиляторы на каких-то численных рассчетах, вот лучше сравни их, собрав СУБД mysql и прогнав вот этот вот бенчмарк» или еще что-то в этом роде.

Тут еще такой момент: флаги оптимизации -O2 у gcc и clang неравноценны, т.е. clang с опцией -O2 векторизует кое-какие циклы, а gcc начинает это делать только на -O3, что опять таки затрудняет объективное сравнение компиляторов.

у меня действительно воникало острое желание забагрепортить после просмотра кода, выдаваемого как gcc так и clang

За чем же дело стало?

Ну так я зарепортил. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68027. Правда только в GCC. Если тот же код из примера попробовать скормить в clang, результат будет хуже.

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

Наверное тебе пора в разработчики gcc.

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

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

Консерватизм в C++? Только технический оппортунизм. Object Pascal консервативен.

Запихать килограммы логики в обработчик события кнопки — вот к чему толкает эта ваша «прекрасная идея».

Мне безразличны эти ваши «проблемы педагогики».

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

эти ваши «проблемы педагогики»

Этот ваш Pascal как раз и позиционировался, как язык для обучения погромированию. Так что привитые им «ценности и навыки» — прямое следствие архитектуры языка.

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

таться пере

Delphi никогда не пользовал, но сама идея прекрасна.

а в чем идея - программы мышью делать чтоли ? по мне так идея на словах рассказать компьтеру что ты хочешь (в идеале - просто подумать об этом) намного лучше.

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

Для меня OPаscal ассоциируется со странами, в которых IT в ещё более печальном положении, чем в РФ

верные ассоциации

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

про другие языки такого не напишешь, верно чойто вообще (например): «Для меня JavaScript ассоциируется с Германией, Бразилией, Италией, ЮАР и т.д.» ?

Про JS и C++ можно сказать что эти языки ассоциируются с худшими корпоративными практиками в США(но есть много примеров хороших практик).

JS в окончательно виде был разработан за 1~2 недели, название дали от балды - «да скрипт, но давайте это будет java script», потому что Sun вкладывает миллионы в маркетинг своей Java, а мы воспользуемся созданной ими узнаваемостью. У той же Sun был TCL(тоже со встроенными events), лучше чем костыльный js.

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

Вообще, почти все до сих пор сидят на clang 3.6, это и макось и убунта с дебианом, видимо не просто так. Но я надеюсь, что шлангоразрабы возьмут себя в руки и устранят все регрессии.

Gorthauer ★★★★★
()
Ответ на: таться пере от anonymous

а в чем идея - программы мышью делать чтоли ? по мне так идея на словах рассказать компьтеру что ты хочешь (в идеале - просто подумать об этом) намного лучше.

Да ты что! Лучше на клавиатуре херачить ломанный XML(HTML), потом Cascading Style Shits, и наконец, вишенка на торте, JScript или Javascript. Ой как жаль Flash с Actionscript убрали..

Зато js/css в GTK!

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

Этот ваш Pascal как раз и позиционировался, как язык для обучения погромированию.

Ну и отлично. Хорошо что не приводишь в пример статью 83 года про TOT Pascal. A javascript нужен был что бы «обезьянка танцевала» когда нажимаешь на кнопку. Теперь на этом языке с минимальными изменениями делают серверные приложения.

Так что привитые им «ценности и навыки» — прямое следствие архитектуры языка.

Какие именно особенности архитектуры? Модульность(code decoupling)? Более точная(надёжная) типизация? Настоящие строки? Скорость компиляции? Беспроблемность синтаксиса для инструментов статического анализа?

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

В дебиане и макакоси вообще всё старых версий.

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

вишенка на торте, JScript или Javascript

зато на JS вон какую красоту делают - загляденье, а на дельфи что ? а чтобы дельфийскую программу запустить на любой ОС и по сети ? вот тут вам и полный обосран, а вы все про штампы-шмампы и бразильский IT. Давно пора забыть и не вспоминать про говно под названием дельфи.

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

Вообще, почти все до сих пор сидят на clang 3.6

Ложь и провокация!

[robus@DNS-A35 ~]$ clang --version
clang version 3.7.1 (tags/RELEASE_371/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix

это и макось и убунта с дебианом

О, да! Эта тройка всегда на острие прогресса. Обновления ключевых компонентов не чаще, чем раз в пол-года этому очень способствует. Как и то, что сборка всего и вся происходит не так, как это задумал разраб. Пока они там свои форки оттестят, мэйнлайн уйдёт далеко вперёд.

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

Хочешь — на LUA

The Lua plugin for GCC supports GCC 4.5 to 4.9 and Lua 5.1 or 5.2 or LuaJIT.

Старовато и поэтому не нужно.

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

Мне безразличны эти ваши «проблемы педагогики»

Вероятно так же как и проблемы инфраструктуры. Подключить к паскалевскому проекту плюсовую библиотеку классов - нетривиальная задача. Не знаю как там у вас, но в свободном мире большая часть библиотек написаны на C/C++.

К такому распрекрасному языку, как паскаль почему-то нет ни вменяемой IDE, ни библиотек. Может займёшся этим ;)?

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

зато на JS вон какую красоту делают - загляденье, а на дельфи что ? а чтобы дельфийскую программу запустить на любой ОС и по сети ? вот тут вам и полный обосран, а вы все про штампы-шмампы и бразильский IT. Давно пора забыть и не вспоминать про говно под названием дельфи.

JS был предназначен дя того что бы «обезьянка танцевала» при нажатии на кнопку. Давно пора забыть про это говно.

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

JS был предназначен дя того что бы «обезьянка танцевала» при нажатии на кнопку. Давно пора забыть про это говно.

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

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

Последний бубунтовый лтс по умолчанию поставит 3.8 вроде как.

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

Object Pascal более продуманный язык чем C++

На этих begin и end клавиатуру сломать можно. Продуманный, ага. Какой-то титан мысли долго видать сидел и продумывал.

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

Ну да — возможность использования внутреннего парсера компилятора для подсветки это, конечно же, фишка, затмевающая собственно компиляцию.
Это штука приятная, но далеко не самая важная...

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