LINUX.ORG.RU

Вышел LLVM/Clang 3.9

 ,


3

7

Что нового в LLVM:

  • разработчики отказались от поддержки autoconf в пользу CMake;
  • добавлена совместимость с ABI для GCC версии 5 и выше;
  • добавлен анализатор MemorySSA, который работает быстрее и точнее, чем MemoryDependenceAnalysis.
  • добавлена поддержка ThinLTO через ключ -flto=thin — по сравнению с обычным LTO кодогенерация намного быстрее, а итоговый код производительнее;
  • теперь возможно использование ключа -march=skylake-avx512, активирующего поддержку соответствующих процессоров Intel.
  • теперь присутствует полноценная поддержка ARM-архитектур Qualcomm's Kryo и Broadcom's Vulcan, начальная поддержка Cortex-R8 и ARMv8.2-A.
  • для бэкенда AMDGPU реализованы шейдеры OpenGL, буферы, атомарные счётчики, шейдерные расширения.

Что нового в Clang:

  • все возможности OpenCL 2.0 полностью реализованы;
  • полностью реализован ОpenMP 4.5 для CPU, ведётся работа над GPU-частью;
  • начато внедрение возможностей стандарта C++1z, которые активируются ключом -std=c++1z;
  • есть многочисленные изменения для ARM, MIPS и PowerPC.

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

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

Как минимум тем, что может в кросс-платформу без UNIX-овых костылей.

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

А регистронезависимость ихнего DSL это вообще из винды что ли пришло?

Кажется, да. Им, вроде, autotools на винде не хватало, вот они cmake и запилили.

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

Ага. Как Java-программы на десктопе.

Не вижу связи.

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

Используют, чтобы избавиться от оффтопикового говна, кстати говоря.

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

В 95-м году было пол дюжины разных юниксов?

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

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

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

Когда-нибудь пробовал компилять автотулзный проект под вендой? :)

да

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

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

А уж сколько крупных компаний Autotools юзает, так вообще не счесть.

Используют, чтобы избавиться от оффтопикового говна, кстати говоря.

И при этом тянут оффтопиковое говно (регистронезависимые язычки) в другие системы.

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

попытался переползти с 3.8.1 (вроде, или 3.8.0) на нынешний 3.9

Тогда это не они юмористы...

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

У условиях военного времени под пулями?...

Близко к тому, да. Когда на всех целевых платформах (не полдюжины, а десяток-два проприетарных юниксов) гарантированно был только шелл.

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

оффтопиковое говно (регистронезависимые язычки)

Что-что? И какая связь между «оффтопиковым говном» и «регистронезависимыми язычками».

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

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

Так я и привёл пример наполовину неработающей функции, в которой код просто кричал о неработоспособности (изначально, я думал, что чего-то не понимаю в этих 15 строчках, но потом дошло, что код просто содержит серъёзные ошибки). Я посмотрел, как его ревьювили, и это пропустили, а тесты были элементарными и не покрывали даже работающие случаи.

Мой патч тоже уже почти полгода ревью проходит

Я как-то начал нумеровать пинги, мол «ping №21» и на патч обратили внимание :-) Можно попробовать.

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

Я пол года назад пробовал скомпилять spidermonkey под оффтопик. Долго плевался от автотулзов.

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

Minix, GNU/Linux, BSD, Solaris, SCO Unix, IBM AIX, например.

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

а я два года автотулзами половину всего опенсорса в одной конторе под винду компилял (в том числе под винду, так-то под 3 платформы было) :)

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

«Кажется, да»

Очень убедительно, ага. Но ты не уклоняйся от ответа. «Регистронезависимые язычки» - это все из венды? Они только в венде? Или где?

hint: sql - тоже из венды?

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

Я как-то начал нумеровать пинги, мол «ping №21» и на патч обратили внимание :-) Можно попробовать.

А разве в багтрекере clang нельзя голосовать за баги?

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

специальную сборку Cygwin, созданную внутри конторы, которую нужно было устанавливать строго по инструкци, с подробным перечислением куда кликать, где жать «next» и какие скрипты запускать после, чтобы оно работало, как ожидается

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

наполовину неработающей функции

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

Я как-то начал нумеровать пинги

У меня в патче по глупости был iterator invalidation, так что когда его наконец заапрувили, билд сервер его сразу отклонил, и пока разбирались где что, релиз 3.9 уже наступил, так что баг в codegen для MSP430 все еще присутствует.

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

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

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

А разве в багтрекере clang нельзя голосовать за баги?

Там Bugzilla, не видел такого. Да и это было в фабрикаторе. И от звёздочек толку не будет, надо спамить (раз в неделю) пингами, чтобы в рассылке потенциальным ревьюверам надоедать.

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

Ни тот, ни другой до адекватности не дотягивает(в плане реальной необходимости ради чего их смотрел). Я было взялся марафетить tcc, но без наркоты далеко не получается.

/me убежал смотреть чего там нового за последние пол года накомитили в tcc

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

hint: sql - тоже из венды?

SQL это другая тема. Это 1974 год. Это наследие того прошлого, когда клавиатуры были без маленьких букв и регистра.

Вопрос: зачем в относительно новом CMake используются подобные принципы?

«Регистронезависимые язычки» - это все из венды? Они только в венде? Или где?

Открываешь CMakeLists.txt в разных проектах (а то и в одном и том же) и видишь:

TARGET_LINK_LIBRARIES(program mylib)

target_link_libraries(program mylib)

Target_Link_Libraries(program mylib)

Target_link_libraries(program mylib)

Сразу вспоминается MS-DOS и MS Windows с его

#include <STDAFX.H>
#include <Conio.h>
#include <Iostream.h>
EXL ★★★★★ ()
Ответ на: комментарий от anonymous

Больной человек. Мне его жаль.

Когда на тебя электронный ошейник с намордником накинут, вспомни эти слова, дебил.

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

GladAlex ★★★★★ ()

Еще бы они для рхел/centos реп запилили. Неуважительно основной дистр так кидать...

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

Сразу вспоминается MS-DOS и MS Windows с его
#include <STDAFX.H>

Ууу, как все плохо. Я-то думал ты сейчас batch и visual basic назовешь и будешь на них пальцем показывать (а я бы тут же тебе basic и pascal привел), а ты даже до подмены понятий дошел и файловую систему приплел.

А ничего, что на маке такое тоже прокатить должно? :D

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

Я помню, что где-то подобное читал, но на их сайте я не вижу подтверждений и в других местах тоже (только отсылки к pcmaker как к прародителю). Так что это ненадежно.

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

А ничего, что на маке такое тоже прокатить должно? :D

Ну на macOS есть возможность выбрать регистрозависимую ФС при установке и не знать никаких бед.

Не уклоняйся от ответа на вопрос:

Зачем в относительно новом CMake используются принципы 1974 года, когда клавиатуры были типа таких?

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

возможность выбрать регистрозависимую ФС при установке

Поправочка, нельзя. последние версии OSX и macOS не работают на регистро зависимых fs, так что они запретили выбирать.

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

Не уклоняйся от ответа на вопрос

Ты сначала ответь на вопрос, какое все-таки отношение имеет регистро-зависимость к венде, кроме файловой системы и коммандного процессора родом из DOS, которые как и sql родом из тех же бородатых годов.

Зачем в относительно новом CMake используются принципы 1974 года

Тебе осталось сказать «Совпадение?! Не думаю...» чтобы полностью войти в образ :D

А может быть в угоду пользователям маков, не? :D

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

разработчики отказались от поддержки autoconf в пользу CMake

красота-то какая

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

Все лучше чем в пинде. Там фс регистр различает, а ос - нет

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

Конечно нет, автотулз умеет только классик-мейкфайл. О чем всегда забывают хаятели cmake. По сути, у автотулзов и цмейка немного разные нишы. Автотулз более нативен. Cmake генерирует проекты под IDE.

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

зачем в относительно новом CMake используются подобные принципы?

Идиоты потому что.

Еще это их повторение условия при закрытии тега. Которое вроде и не обязательно, но в документации и примерах присутствует

if(BLABLABLA kfkfkf fkfkfk)

endif(BLABLABLA kfkfkf fkfkfk)

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

Этот тот, которому нужна FUSE?

A C++ это тот язык которому нужна система сборки? Сам компилятор не знает как компилировать свой код?

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

Tup лучше.

Этот тот, которому нужна FUSE?

A C++ это тот язык которому нужна система сборки?

Видимо, тот самый. Тогда thanks but no thanks.

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

Которое вроде и не обязательно

Но...

if(BLABLABLA kfkfkf fkfkfk)
else()
endif()

...выглядит так же ублюдочно. Ещё один вопрос категории НО ЗАЧЕМ. В догонку к [неполной] регистронезависимости.

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

Почему ты пытаешься извернуться?

Нет бы взять и сказать: «да синтаксис CMake выглядит ублюдочно, но что поделать, ничего лучше пока не предвидится».

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

else()
endif()
Variable names are case-sensitive and may consist of almost any text
Command names are case-insensitive.

Такое впечатление, что они делали то же, что и человек в этом видео («The Worst Programming Language Ever»). А именно искали способы создания худшего в мире языка программирования. (Даже видео захотелось пересмотреть, в том языке явно не хватает таких мега фич.)

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

Поправочка, нельзя. последние версии OSX и macOS не работают на регистро зависимых fs, так что они запретили выбирать.

Если они перейдут на регистрозависимую ФС, то половина софта отвалится.

И вот вам из последнего:

10.11.6 (15G1004)
is case-sensitive No

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

Все лучше чем в пинде. Там фс регистр различает, а ос - нет

Вы все еще про OSX?

$ la
total 0
drwxr-xr-x 2 andrey staff 68B Sep 6 00:18 ./
drwxr-xr-x 15 andrey staff 510B Sep 6 00:18 ../

$ touch test
$ la
total 0
drwxr-xr-x 3 andrey staff 102B Sep 6 00:19 ./
drwxr-xr-x 15 andrey staff 510B Sep 6 00:18 ../
-rw-r--r-- 1 andrey staff 0B Sep 6 00:19 test

$ touch Test
$ la
total 0
drwxr-xr-x 3 andrey staff 102B Sep 6 00:19 ./
drwxr-xr-x 15 andrey staff 510B Sep 6 00:18 ../
-rw-r--r-- 1 andrey staff 0B Sep 6 00:19 test

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

Тебе для сборки своих проектов или для компиляции GNU-того софта?))

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