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)

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

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

Люто и бешено двачую!

Рай для среднего засриянца — это бесплатное курево и еда.

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

Почему ни Эпл. Разве МакОС не на нём написан.

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

Проблема в том, что в новости ни про Фортран, ни про Аду, ни про Д или Го ничего нет. То ли ничего не было сделано, то ли автор не в курсе.

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

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

OPаscal
Разве МакОС не на нём написан.

Лол.

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

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

Что ты подразумеваешь под словом «Паскаль». Паскаль ещё в конце 1970-х годов был заменён Модулой.

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

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

так на дельфи даже этого не сделать кроссплатформенно

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

Учиться, учиться и ещё раз учиться. Так завещал вам великий Ленин.

нам значит? а вам Истинно СВОБОДНЫМ СВЕРХЧЕЛОВЕКАМ невместнео выходитуцчится? ваш удел с дубиной бьегать по лесу . ясно. но вопрос что ыт на лоре забыл? ддля доступа к нему надо изучить человеческий язык, писмо и даже как пользоватся компутером - значит ТЫ позорно исполнил завет Ленина чтобы написатьь эту глупость

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

К такому распрекрасному языку, как паскаль почему-то нет ни вменяемой IDE, ни библиотек

А куда делись Delphi и крупнейшая в свое время коллекция делфийских компонент?

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

begin и end

Лично вам уже намекали, насколько вы понимаете в проектировании ЯП.

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

Сколько языков поддерживает clang? Новость о GNU Compiller Collection.

Сколько языков поддерживает компилятор си++? Полагаю один.. А llvm поддерживает много, причем живых и активно развивающихся, в отличии от коллекции компиляторов гну (rust, swift например).

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

Сложно найти более убогий и алогичный синтаксис, чем в паскале

Претензия еще как-то звучала бы от всяких лисперов-смоллтокеров. Но от сишника... это розыгрыш какой-то.

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

Подключить к паскалевскому проекту плюсовую библиотеку классов - нетривиальная задача.

Только extern «C». Подключать C библиотеку не проблема. Для модулей C++(программы и библиотеки) от разных компиляторов, или одного компилятора разных версий, или иногда одного компилятора с некоторыми различающимися опциями - нет гарантии работы.

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

Я пользуюсь Emacs. Для такого языка как Object Pascal сделать парсинг в Semantic(порт GNU Bison в Elisp) очень легко. Пока делаю для другого языка.

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

Что ты подразумеваешь под словом «Паскаль».

ObjectPascal.

Генеральный директор Apple просил передать, что он ненавидит тебя.

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

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

Это не вишенка…

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

Чем оно лучше Clang? FilosofeM ★ (28.04.2016 11:41:38)

Сколько языков поддерживает clang? Новость о GNU Compiller Collection. grem ★★★★★ (29.04.2016 9:23:01)

Сколько языков поддерживает компилятор си++? Полагаю один.. А llvm поддерживает много, причем живых и активно развивающихся, в отличии от коллекции компиляторов гну (rust, swift например).

Чё-то я не вижу, откуда взялся llvm…

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

А куда делись Delphi и крупнейшая в свое время коллекция делфийских компонент?

Так её никогда и не было. В тоталитарных форточках что-то крутили.. Может и сейчас крутят.

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

Генеральный директор Apple просил передать, что он ненавидит тебя.

Нет для меня лучшей награды, чем бессильная ненависть локальных диктаторов и местечковых царьков :D

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

Если речь про делфи на линуксе, то довольно очевидно что они в разных нишах (и в разном времени, ха).

Хотя таки Kylix был на волне ожидаемого взлета десктопного линукса... Но оба не взлетели.

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

Активировано по умолчанию для языка C++ использование стандарта C++14

Ну наконец-то

А чего это стоило прогописателям да сопровождащим пакетов. Сколько ошибок повсплывало, например, в Debian: сотни.

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

А куда делись Delphi и крупнейшая в свое время коллекция делфийских компонент?

Коммерческий продукт Delphi 10.1 Berlin, полная версия софта стоит $5000. Kомпиляция для Windows, iPhone, Mac, Android.

Free Pascal, 64 бит, Windows, Linux, Android(ARM, x86, MIPS), байткод JVM и Dalvik. В этом году была добавлена поддержка 16 bit MSDOS. Было сделано для демонстрации портирования компилятора на другие архитектуры. 80186 до сих пор используется в embedded.

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

кроме, пожалуй, внутренней архитектуры (хотя, может, слухи и обманчивы).

Всё ещё правда. Вот если хочется использовать готовый компилятор в машинный код для своего какого-то языка, то в случае с LLVM просто берёшь готовые либы, а в случае с GCC нужно понять, как он устроен, чтобы в нужное место поместить свой код и... скомпилировать сам GCC. Когда они уже наконец-то сделают нормальный API для этих целей. Смотри GHDL (открытая реализация языка для описания цифровой логики VHDL).

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

Подключить к паскалевскому проекту плюсовую библиотеку классов - нетривиальная задача.

Да в отличие от Си подключить Си++ библиотеку даже к другому Си++ проекту нетривиальная задача: надо убедиться, что собраны компилятором с одним и тем же ABI. А эти ABI не стандартизированы.

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

Программист на C++ часто не способен мыслить как инженер,

Я начинал с ассемблера, а продолжил паскалем. До сих пор отмыться не могу от этого паскаля.

только как ремесленник использующий реализации без понимания почему так.

Это очень похоже на паскалевских пограммистов.

Kогда смотрел Lazarus, мог даже настроить клавиатуру как в Emacs.

Киллер фича, ведь больше ничего оно не может.

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

Не важно, как оно компилируется, важно что получается на выходе. А на выходе Лазарус - полное говно.

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

И насколько данное сравнение будет полным и объективным?

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

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

Пользователю приложения неважно, с какими флагами разработчик собрал приложение. Ему важно, что бы приложение работало хорошо и быстро.

Ну так я зарепортил.

Это прекрасно, может баг и починят.

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

Новость не о си-компиляторе, а, внезапно, о наборе компиляторов, если что.

Не я сравнил clang и gcc.

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

clang version 3.7.1 (tags/RELEASE_371/final)

Фигня, вот как надо:

$ clang --version
Apple LLVM version 7.3.0 (clang-703.0.29)
Target: x86_64-apple-darwin15.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

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

Я начинал с ассемблера, а продолжил паскалем. До сих пор отмыться не могу от этого паскаля.

Если до сих пор нельзя отмыться, после предположительно очень долгого периода времени, то паскаль тут ни при чём.

Не важно, как оно компилируется, важно что получается на выходе. А на выходе Лазарус - полное говно.

В случае с C++, говно и на входе, не только на выходе. Единственная «вменяемая» IDE для C++ это Visual Studio. На Linux только Netbeans, может быть Eclipse, у JetBrains должно быть. «Вменяемых» IDE на самом C++(кроме VS), не существует.

tp_for_my_bunghole
()

Годная новость. Эх, и они в гонку цифр включились.
По поводу используемых версий:

$ clang --version
Debian clang version 3.6.2-3 (tags/RELEASE_362/final) (based on LLVM 3.6.2)
Target: x86_64-pc-linux-gnu
Thread model: posix
$ gcc --version
gcc (Debian 5.3.1-14) 5.3.1 20160409
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

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

Поцкаль был придуман, чтобы у тупых студентов алгоритмики запускались при Ctrl+F9. Делфи сделали из поцкаля, чтобы те же студенты, не переучиваясь, могли пихать свои алгоритмики в TForm1.Button1Click.

Кстати, TForm - показательно. Вирт боялся, что тупые студенты ниасилят case-sensitive, поэтому теперь в поцкале уродливые coding conventions с префиксами родом из 90x.

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

что тупые студенты ниасилят case-sensitive, поэтому теперь в поцкале уродливые coding conventions с префиксами родом из 90x.

Все студенты обычно тупые. Всё у них буквочки, отступы, begin/end. Ну вот это всё, вот это вот. Те кто руссофобию эту начинает.

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

«вменяемая» IDE для C++ это Visual Studio

Нет, ты точно из параллельной вселенной пишешь.

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

Все студенты обычно тупые. Всё у них буквочки, отступы, begin/end

Нет. Нам подавай лямбды в слотах, auto, вычисление ответа на главный вопрос жизни и всего такого на этапе компиляции и отделение ссылок от значений.

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

Пользователю приложения неважно, с какими флагами разработчик собрал приложение. Ему важно, что бы приложение работало хорошо и быстро.

Ложь и провокация. Пользователь должен знать оптимальные флаги компиляции для своего железа. И да - проприетарщики пусть лесом идут.

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

Все студенты обычно тупые. Всё у них буквочки, отступы, begin/end.

Я тебя не распарсил. Ты намекаешь, что я тупой студент, потому что меня волнуют синтаксис и префиксы? Но все эти T* и begin'ы вербозны и без толку засоряют код, он читается хуже. Ну ладно, синтаксис - фигня, coding conventions - фигня. Давайте пересядем все на поцкаль, там же типизация, модульность, вот это всё. Стоп, а где стандартизация, кроссплатформенность, нормальные компиляторы, справочники по языку?

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

Нам подавай лямбды в слотах, auto, вычисление ответа на главный вопрос жизни и всего такого на этапе компиляции и отделение ссылок от значений.

А что, есть язык, на котором удобно ваять гуёвые приложения и в котором всё это есть?

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

Стоп, а где стандартизация, кроссплатформенность, нормальные компиляторы, справочники по языку?

А это всё - инфраструктура. Она никого не волнует, ведь главное

типизация, модульность, вот это всё

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

C++ с библиотекой Qt5 существует.

Ну это ясно, я про него подумал. Но всё-таки хотелось бы чего-то более высокоуровневого, с нормальными итераторами, с батарейками в стандартной библиотеке, менеджером зависимостей, можно с GC.

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

Мальчик, ты дебил?

А потом быдло, кукарекнувшее что-то из-под шконки, выкатывет пруфцы своего вскукарека. Все удивлены и даже слегка обрадованы. Эх, мечты-мечты.

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

На нашем достаточно большом проекте, три года назад, код сгенеренный интеловским компилером работал медленнее.

ХЗ.
У меня ещё такого не было, чтобы в общем случае интеловский сгенерированный код был тормознутее гнутого. А если ещё пройтись интеловским профилировщиком, да выпрямить узкие места, то вообще всё улетало на первой космической.

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

с нормальными итераторами

for(auto i: collection)

чем не угодил?

менеджером зависимостей

Это - работа мейнтейнера. Не программиста и уж точно не языка программирования.

с батарейками в стандартной библиотеке

Что это? Не гуглится.

robus ★★★★★
()
Последнее исправление: robus (всего исправлений: 1)

GCC наше всё! Вот защитники Клэнга скажите а может ваш компилятор скомпилировать ядро Линукса?
Правильно. Не может. Кленг хорош только на синтетических тестах. А вот отправьте Клэнг в живой мир, и посмотрите как будет с реальными пакетами работать. О -хо-хо! Это ещё вопрос.

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

for(auto i: collection)
чем не угодил?

Он ничего не умеет:

for (auto i: range(0, 10)) ...
for (auto (index, item): enumerate(collection)) ...
for (auto (item1, item2): zip(collection1, collection2)) ...

Не знаю, как у тебя, я а у меня тупой проход по единственному массиву бывает крайне редко. Ну и итераторы - это не только проход по массиву, их можно мапить, фильтровать, сворачивать и всё это чейнить.

Это - работа мейнтейнера

Какого ещё мейнтейнера? Я имел в виду аналоги cargo, pip, cabal, т.е. систему сборки со встроенной подгрузкой либ.

Что это?

Отсутствие необходимости тянуть сторонние библиотеки для тривиальных вещей типа работы с ФС. То есть, часть функционала крестового буста в стандартной библиотеке. В общем, как в либах всяких скриптушных языков.

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

<ЖЫР>А разве Clang не тулза для умного автодополнения в плюсах? Как её с компилятором можно сравнивать?</ЖЫР>

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

Так-то и с gcc часто пакеты не компиляция при обновлении его или самих пакетов, пока код не поправишь или флаги компилера не выставишь, теоретик.

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