LINUX.ORG.RU

LLVM 11

 ,


2

4

Состоялся релиз набора GCC-совместимых инструментов разработки LLVM. В частности, в порядке эксперимента в состав вошёл Flang – фронтэнд для языка Фортран.

Из значимого:

  • Начата миграция сборочной системы в сторону использования Python 3. 2-я версия языка, тем не менее, всё ещё поддерживается в качестве «запасного» (fallback) варианта.
  • Поддержка восстановления AST, что упрощает поиск ошибок в коде, в том числе и дополнительными утилитами. Пример
  • Новые группы предупреждений: -Wpointer-to-int-cast, -Wuninitialized-const-reference и -Wimplicit-const-int-float-conversion. Последняя включена по умолчанию.
  • Добавлен набор расширенных целочисленных типов _ExtInt(N), позволяющих создавать типы не кратные степени двойки. Да, теперь можно делать «инты» кратными любому числу!
  • Целая куча улучшений в Clang, в частности, новые «фичи» для многих платформ, в том числе x86, ARM и RISC-V, улучшенная производительность, новые функции для работы с OpenCL (и ROCm) и OpenMP.

Полный список изменений, как всегда, в Release Notes:

https://releases.llvm.org/11.0.0/docs/ReleaseNotes.html

https://releases.llvm.org/11.0.0/tools/clang/docs/ReleaseNotes.html

https://releases.llvm.org/11.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html

https://releases.llvm.org/11.0.0/tools/flang/docs/ReleaseNotes.html

https://releases.llvm.org/11.0.0/tools/lld/docs/ReleaseNotes.html

https://releases.llvm.org/11.0.0/tools/polly/docs/ReleaseNotes.html

https://releases.llvm.org/11.0.0/projects/libcxx/docs/ReleaseNotes.html

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

★★★★★

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

В чём именно заключается «эксперимент по включению Фортрана»?? Сам эксперимент - медицинский штоле?

Там вроде фортран18 должны включить в стандарт. Нужная вещь.

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

Но почему они вдруг решили что Питон подходящий инструмент? Ведь есть более удачные и менее тормозные скриптовые языки, например Руби.

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

Ну тогда 20 стандарта ещё не было. И первая версия модулей у МС тоже была нестандартная.

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

Но почему они вдруг решили что Питон подходящий инструмент? Ведь есть более удачные и менее тормозные скриптовые языки, например Руби.

А с чего это еле живой руби более удачный? Да и по тормозам сейчас они примерно одинаковы. Если брать начало разработки clang (примерно 2007 год) то тогда руби был как раз более тормозной. Но вообще чисто технически что руби что питон оба вполне подходящие как запускалки тестов и языки мелких сборочных утилит. Но сейчас питон более распространен и поэтому подходит для подобных целей лучше.

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

я даже конпелятор язык monkey на нем писал. Даже работало все, кроме самопального GC и некоторых фичей типа tail recursion ибо было лень дальше писать. Ну и естественно приходилось аисать руками некоторые моменты, чтоб проверять как оно там работает.

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

Может я что-то упустил, но где там в системе сборки питон? Там CMake. Вот lit, который для тестов используется, написан на питоне.

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

Почему? Зачем?

Потому что, и то и другое это санное говно

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

conan.io написан на html, потому что сайт. Менеджер называется просто Conan.

А вообще они именно так и обосновали, почему менеджер пакетов для C++ не обязан быть написан на нем.

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

Твои кумиры, негодяй. Они, держу тебя в курсе, «растут». Теперь они воздействуют не только на конкретного человека, но и на его семью (пара минут): https://youtu.be/nmV3TfjAtUA?t=1564

А тут они только на человека ещё воздействуют до близких не додумались: https://www.youtube.com/watch?v=1AZLQUZ2Kpg

@I-Love-Microsoft, этой обслуге тоже будет интересно, кастаните его, пожалуйста. Может мысли какие у него появятся, а то он подтирать за собой научился к середине жизни, чем гордится, лол, авось и мысли однажды будут… Ай, да что он нём писать…

Прочая обслуга и силовики, сходите по ссылке посмотрите/почитайте про «своих». Как вам там с ними здоровается, нормально?) Думаю, что нормально. (:

Linux тут при том, что идея свободы рождения «здоровых» систем (как GNU/Linux), как и свободу рождения «здоровых» детей следует поддерживать как продуктивную для всех.

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

это тупо отговорки, вот джетбрейнс тоже лепят тормозные ide для ++, потому что ide для плюсов не обязан быть написаны на ++, в итоге имеем то что имеем 😄

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

Там не столько эксперимент по включению компилятора фортрана, сколько то, что он работает в экспериментальном режиме. В этом режиме он не генерит исполняемый код сам. Только выполняет проверку кода и перенаправляет на компиляцию внешнему компиляторы, по умолчанию gfortran.

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

есть более удачные и менее тормозные скриптовые языки, например Руби.

Может я что упустил, но ты много, например, знаешь систем сборки написанных на руби для проектов содержащих код на разных языках? На питоне мне известно 2-3 достаточно универсальных и 1 заточенную под фортран.

К тому же, люди имеющие дело с C++, на котором написан llvm, с большей вероятностью чаще имеют дело с python, чем с ruby.

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

Потому что весь ML сейчас делается на питоне, весь нормальный веб — на микросервисах на ноде или на худой конец жабе, а руби остался там, где ему и место. Каким бы раззвездатым ЯП ни был архитектурно и синтаксически, без сторонней поддержки (если он не является самодостаточным) он — ничто.

И да, кукареканье о тормознутости питона в 2020 реально уже смешно наблюдать.

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

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

я знаю одну или две. где-то в районе eax.me и ещё одного непризнанного еухения

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

более удачные и менее тормозные скриптовые языки

например Руби.

python

два тормоза пара. но это не важно.

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

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

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

человекочитаемый псевдобейсик? python -> Rexx, ooRexx, да тот же ruby тормозной смолтоковый, gdscript, из bazel что-то такое ещё

встраиваемое нечто? lua -> euphoria, squirrel и т.п.

другое дело, что без батареек они никому не нужны.

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

В случае с Borland удивительно почему на нем продолжают жевать кактус в наши дни. Оно должно было сдохнуть ещё к середине нулевых самое позднее

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

https://numba.pydata.org/

интересно.

учитывая что в последние релизы питона PEG-грамматики завезли, и например тот же Jupyter notebook и некоторые языки в обёртке питона (питонофорт peforth гитхаб с магией встроенного питона , питоносхема calysto , питоносишку/питонопаскаль с AST макросами nim) – можно ожидать появления массы компиляторов, написанных за пару дней и использующих питон в качестве IR такого компилятора – непосредственно транслируемых в нативный код через LLVM ?

есть впрочем и для x86 asm Jupyter notebook

можно впрочем и по старинке ocaml использовать, для которого биндингам под LLVM сто лет в обед.

по крайней мере, курсы по метакомпиляторам: раз два вроде META, OMeta и т.п. вполне напрашиваются на такое вот переписывание.

там примеры на JS для наглядности – то есть работает в браузере. если на какой-то Jupyter kernel переписать то можно и это сохранить, и компилируемость добавить. по аналогии с JS можно переписать на любой язык реализации достаточно интересный.

хоть метапрог какой-нибудь «сам на себе»

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