LINUX.ORG.RU

Релиз набора компиляторов LLVM 9.0

 , ,


0

2

После полугода разработки был выпущен релиз проекта LLVM 9.0 (Low Level Virtual Machine) - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный псевдокод RISC-подобных виртуальных инструкций (виртуальная машина низкого уровня с многоуровневой системой оптимизации). У сгенерированного псевдокода есть возможность преобразования при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

Из новых возможностей LLVM 9.0 отмечается обеспечение готовности целевой платформы RISC-V, реализация C++ для OpenCL, возможность разделить программу на динамически подгружаемые части в LLD и поддержка конструкции «asm goto», используемой в коде ядра Linux. В libc++ стал поддерживаться WASI (WebAssembly System Interface), а в LLD появилась возможность динамического связывания WebAssembly.

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



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

ну и правильно, всего 20 лет прошло же. главное чтобы с++20 поддерживал в 2019, а с++23 в 2020. васяны такие васяны.

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

Такой херотой, увы, не только они занимаются.

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

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

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

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

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

Проскакивало в новостях, что уже можно для x86 собрать. Но не знаю, на сколько достоверно.

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

с99 он уже поддерживает или ещё нет?

Нет и не будет. Это же вообще не про С++.

4.2

C99 Conformance Visual Studio 2015 fully implements the C99 Standard Library, with the exception of any library features that depend on compiler features not yet supported by the Visual C++ compiler (for example, <tgmath.h> is not implemented).

https://docs.microsoft.com/en-us/previous-versions/hh409293(v=vs.140)?redirec...

The compiler’s support for C99 Preprocessor rules is incomplete in Visual Studio 2017. Variadic macros are supported, but there are many bugs in the preprocessor’s behavior. We are overhauling the preprocessor, and will experimentally ship those changes under the /permissive- mode soon.

https://docs.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance...

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

Ваще не понял к чему эти ссылки. Чисто для плюсов они там включили всякие сишные возможности, но только те что требует стандарт. А си-компилятор их так на c89 и застрял.

Deleted
()

Говорят, что оно тихо и не заметно сменило лицензию на неугодный Апач2 и в стане опенбсд от этого знатно бомбит.

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

опенбсд от этого знатно бомбит

Надо было форкать PCC!

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

А, нашел давнее разъяснение. http://lists.llvm.org/pipermail/llvm-dev/2017-April/112300.html

Оказывается, не совсем незаметно. Процесс шел уже несколько лет http://llvm.org/foundation/relicensing/

Вообще-то серьезное изменение. Такое в новости должно быть первой строчкой.

anonymous
()

отмечается обеспечение готовности целевой платформы RISC-V

Дайте же уже её пощупать, платформу эту. Желательно в виде мобилы. Желательно (но не обязательно) кнопочной.

В libc++ стал поддерживаться WASI (WebAssembly System Interface), а в LLD появилась возможность динамического связывания WebAssembly.

Джва года ждал*. Свидетели Васи, возрадуйтесь.

* — not really

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

А на чем вывод основан? gdc использует как бекенд gcc со всеми вытекающими. Я бы не сказал, что gcc однозначно сливает llvm, скорее наоборот.

Другое дело, что в gdc фронтенд самой последней версии что на плюсах написан, а это аж 2.68, в то время как сейчас уже 2.088 вышла. Но без бутстраппинга все равно никак, первая версия должна быть плюсовая, чтобы ее можно было собрать, а последующие версии уже будут дишные.

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

объясните чем лицензия Apache плоха для BSD систем?

В лицензии Apache 2 есть защита от патентных троллей, чтобы они не могли вас иметь, а для BSD это недостаточно свободно.

goingUp ★★★★★
()

time-trace

-ftime-trace - killer feature, if you want to analyze & optimize your build times

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

Основано на мнении других людей в Интернете и личном опыте.

Включаешь максимальную оптимизацию в ldc2 и становится действительно быстрее и по таймеру и по профайлеру.

На других backend'ах разница не столь существенна.

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