Size: a a a

Compiler Development

2020 December 08

TS

Timur Safin in Compiler Development
Dollar Føølish
Так наверное и нельзя
у clang++ (в теории) можно поменять через -stdlib=libc++ -stdlib=libcxx
источник

TS

Timur Safin in Compiler Development
Alexey
Боюсь, так просто в лоб это не получится. Попытался скомпилировать простой пример с концептами с помощью clang++ -nostdinc -nostdlibinc, последовательно добавляя недостающие gcc'шные инклюды, и через несколько итераций увяз в конфликтах со всех сторон.
предлагаю продолжить дискуссию всё же в тематическом чатике @procxx
источник

RB

Rustem B. in Compiler Development
опа
источник

RB

Rustem B. in Compiler Development
чё вы?
источник

RB

Rustem B. in Compiler Development
я на сервере дискорда разбирался с этим
источник

RB

Rustem B. in Compiler Development
разобрался
источник

RB

Rustem B. in Compiler Development
с libc++
источник

D

Danya in Compiler Development
Timur Safin
у clang++ (в теории) можно поменять через -stdlib=libc++ -stdlib=libcxx
Я не предлагал это, потому что думал что проблема при линковке с бинарями другими
источник

PS

Pavel Samolysov in Compiler Development
Я нормально линкуюсь clang'ом с libstdc++ на Линуксе (Open SUSE). StdLibа это часть языка, но наверное не часть компилятора. Можно собрать clang, слинкованный libc++ и при этом не заставлять его с нею линковать, ну или собрать clang так, чтобы он линковал с libc++. Здесь все довольно гибко.
источник

RB

Rustem B. in Compiler Development
libc++ вроде не поддерживает c++20
нужно libc++experimental вроде
источник

A

Alexey in Compiler Development
Как бы там ни было, я думаю, что Тимур прав и офтоп пора сворачивать.
источник

D

Danya in Compiler Development
Rustem B.
libc++ вроде не поддерживает c++20
нужно libc++experimental вроде
Поддерживает, но не все фичи
Как и любой другой компилятор или либа сейчас
источник

PS

Pavel Samolysov in Compiler Development
Michael
не знаю как на других дистрах / ОС, но на арчах в бинарях представляют stdlib только от gcc. А если хочется от шланга, то придется ручками компилить и это в 5 / 10 случаев заканчивается матерными криками
Да, в Open SUSE по-умолчанию libstdc++, но можно линковать и с libc++. Я возможно мало собираю/линкую, но на тестах проблем не было. Если пишешь что-то компиляторное и линкуешься с LLVM, то конечно надо иметь LLVM, собранны с libc++, иначе будет ругань на ненайденные std::_1::string как-то так.
источник

PS

Pavel Samolysov in Compiler Development
Danya
Поддерживает, но не все фичи
Как и любой другой компилятор или либа сейчас
Поэтому автор ветки и блеймил проект, который уже использует С++ 20, так как для его сборки нужна libstdc++. Вопрос использования последнего стандарта С++ для опенсорса и правда дискуссионный.
источник

RB

Rustem B. in Compiler Development
вот вы тут пишите
а я хотел собрать LFS без GNU
чисто LLVM+Clang+Libc++/musl
и теперь я немного передумал
раз тут такое
источник

PS

Pavel Samolysov in Compiler Development
Rustem B.
вот вы тут пишите
а я хотел собрать LFS без GNU
чисто LLVM+Clang+Libc++/musl
и теперь я немного передумал
раз тут такое
Если это Linux from scratch, то там же голый си в ядре, возможно и соберётся
источник

RB

Rustem B. in Compiler Development
кто-то писал что ядро собирать мудерно
источник

SE

Stanislav Ershov in Compiler Development
Alexey
Во фре дефолтный (системный) компилятор это Clang 11.0.0, и большинство пакетов собирается им, в частности, LLVM. Но т.к. он еще не умеет в #include <concepts>, в данном случае для сборки приходится задействовать GCC со всеми вытекающими. Вообще, учитывая хрупкость плюсового ABI, использовать самую свежую версию стандарта в опенсорсном софте это имхо моветон; во всяком случае, нормальное олдскульное пакетирование без запекания всех зависимостей это осложняет порядочно.
в репе причем есть concepts но там только один концепт прописан :)
источник

AT

Alexander Tchitchigi... in Compiler Development
источник
2020 December 09

S

Sublime in Compiler Development
Всем привет
источник