Чтобы добавлять сообщения и комментарии, .

@L29Ah:
L29Ah

../core/core_cmInstr.h:370:19: error: invalid instruction mnemonic 'dsb'
__ASM volatile ("dsb");
^

@Shchvova:
Shchvova

Ребята, а может кто-то умный объяснить зачем нужна эта строчка `-pagezero_size 10000 -image_base 100000000` что бы построить luajit для мака? luajit.org Может кто-то простым и доходчивым языком пояснить что оно делает и зачем нужно?

@Zert:
Zert

А ядро ещё шлангом не собирается? Есть ли какие-то подвижки в эту сторону?

@Strephil:
Strephil

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

@segfault:
segfault

А как там у нас со шлангом? Захотелось острых ощущений ...

@Strephil:
Strephil

А вот подскажите, вот есть говнокод, можно как-то посмотреть, что компилятор делает с продвижением типов?..

@Strephil:
Strephil

dhcpcd-6.3.1 has been released with the following changes:
   * All errors reported by clang static anaylser have been fixed

вот так вот clang тихо и ненавязчиво повышает качество свободного ПО.

@Strephil:
Strephil

— Вот в vim можно при сборке включить опцию +cscope, и появится команда :cscope, и можно будет использовать :cscope. Идёт 2014-й год, а в VIm всё еще нет опции +clang, чтобы слинковаться с libclang, чтобы всё работало искоробки без использования костыльных плагинов.
— Что сказать-то хотел? Услышал слова clang и cscope, и хочешь показать, какой ты умный?

@ndtimofeev:
ndtimofeev

А есть где-нибудь документация по API предоставляемым clang'ом?

@ndtimofeev:
ndtimofeev

Как-то умудрился собрать clang 3.4 без кусков рантайма отвечающих за многочисенные санитайзеры. Грустно. Буду потом с этим воевать.

@vt:
vt

Очередной раз поражаюсь, как в линуксе все просто и удобно, кукареку, пакетные менеджеры, кудах.
Наслушался про то, что в линуксе щас во всех блокнотиках для редактирования c/c++/objc есть возможность крутого автодополнения с помощью clang. Ну здорово, решил сначала попробовать под вендой, ибо было сказано, что модный блокнотик sublime text умеет работать и в венде. Скачал, поставил package control, поставил SublimeClang, попробовал — нууу, типа работает, только надо руками прописывать пути к заголовкам, которые этот самый libclang будет парсить. Что-то даже прописал, потом устал и забил.
Тут случайно наткнулся на подобный модуль для emacs. Ну emacs мне ближе, раньше пользовался, решил еще покрасноглазить, в итоге руками собрал clang, руками собрал emacs-clang-complete-async. Не работает, падает. Ну ладно, тут начинается самое веселое, решил попробовать тоже самое в линуксе, ведь там все просто и само должно заработать. Нуу, разве что всего лишь emacs-clang-complete-async руками собрать. Ну собрал, это я уже и под вендой делал. Оно даже заработало, ничего больше не настраивая! Только почему-то ВНЕЗАПНО перестало, и в логах емакса тишина. Ну да ладно. Решил попробовать sublime text здесь же. А тут... а тут он не работает. Не ставится на него SublimeClang. Надо собрать руками отдельный петон, через какой-то еще pythonbrew новомодный, подсунуть его отдельно к sublime text, и тогда возможно заработает. Написано баг известный, в принципе в любом линуксе, но чинить никто не собирается. Пиздец какой-то. И так в этом линуксе всё. Не удивлюсь, что еще через пару лет в линуксе и ls начнет глючить.

@O01eg:
O01eg

Обнаружил, что собранный gcc с libstdc++ glibmm плохо работает в приложении, собранном clang'ом с libcxx.

@ndtimofeev:
ndtimofeev

Clang 3.3 собирает moc_'и нагенерированные Qt5. Интересно они обмазали заголовки более качественным макросом или баги в компиляторе пофиксили…

@SoulThreads:
SoulThreads

А я и не знал, что такая штуковина: embed.cs.utah.edu существует и будет доступна изкоробки в clang 3.3. Вкратце, оно занимается тем, что добавляет проверки на целочисленные переполнения (undefined behaviour, как никак, и всё такое) и выполняет их в рантайме, давая хороший выхлоп с указанием проблемных мест в коде. Автор говорит, что удалось найти кучу таких переполнений во всём опенсорсном коде, до которого руки дотянулись (например, около 71 переполнений в GCC).

P.S. Узнал из этой статьи: "Nobody Expects the Spanish Inquisition, or INT_MIN to be Divided by -1" blog.regehr.org — она тоже интересная.

@arrowdodger:
arrowdodger

Кланг к успеху идет.
Embarcadero C++ Builder XE3 released: Highly-conforming Clang-based C++11 compiler

@arrowdodger:
arrowdodger

А кланге пилят модули для С/С++. Всмысле, вместо хедеров будут модули.

@Equidamoid:
Equidamoid

Внезапно, в ndk-8c появился clang,

@l3x5z3r0:
l3x5z3r0

От скуки собрал llvm+clang для кросскомпиляции под arm. Собрало фирмварь для stm32 с первой попытки, с -Os получилось процентов на 15 жирнее того, что сделал гцц. Работоспособность еще не проверял, though.
Алсо, crossdev'у не хватает умения собирать кросс-шланг, а когда собирал руками — забыл сказать --enable-shared --with-optimize-options=opimized, в итоге make install высрал 3.7 Гб.

@hatred:
hatred

собственно:
clang++ -w -fsyntax-only -Xclang -code-completion-at=test.cpp:8:30 test.cpp
оно же со stdin:
cat test.cpp | clang++ -xc++ -w -fsyntax-only -Xclang -code-completion-at=-:8:30 —

@Equidamoid:
Equidamoid

Попробовал автокомплит на основе clang. Fail. Куча ругани на "no member named $type in global namespace" и нифига не работает.
Хотя мб код под андроидовский NDK — это слишком для него?..

@Strephil:
Strephil

Забавно, gdb не совместим со шлангом.
break func_name ставит break совсем в другом месте.

Теперь придется собирать свой быдлокод двумя конпеляторами:
шлангом для няшных сообщений об ошибках конпеляции,
gcc для отладки.

@borman:
borman

Полез в API к clang, и что я там вижу?:

void 	SetExternalSource (ExternalHeaderFileInfoSource *ES)
 	Set the external source of header information. 
void 	setTarget (const TargetInfo &Target)
 	Set the target information for the header search, if not already known. 

ШТОЭТАБЛЯДЬ за стиль кодирование такой? Картинка в тему: 
http://www.examiner.com/images/blog/wysiwyg/image/jackie(8).jpg

@arrowdodger:
arrowdodger

Собрал ведро и мир с WITH_CLANG_IS_CC. Пока все работает, посмотрим что будет, когда я кеды с кутями пересоберу.

@lexszero:
lexszero

Есть такой быдлокод: paste.pocoo.org
Скастовал на него gcc -m32 -O0, дизасмлю и вижу, что после вызова printf стоит тупо ноп и выход из main, даже goto проебалось, алсо вызов f() делает call по адресу куска вычисления code_size, хуй знает почему — т.е. все тупо зацикливается.
Попробовал тот же быдлокод скормить шлангу — получил _code_start = 0x01 и соответственно сегфолт. От исходной асмовставки не нашел даже нопа.
ЧЯДНТ ЧЯДНТ

@L29Ah:
L29Ah

Ну и ну. lighttpd, собранный clang'ом, работает так, что cgit по cgi работает чуть лучше, чем никак, тогда как собранный gcc — нормально. Причём раньше такой хуйни не было. Не было печали — апдейтов накачали!

@ilardm:
ilardm

а кто что может про clang сказать? мне оно пока нравится (да, те самые понятные warnings)

@arrowdodger:
arrowdodger

Наконец-то на демонстрационной страничке стали юзать Clang, а не древний llvm-gcc. Теперь можно копипастить туда код и смотреть варнинги.
llvm.org

@arrowdodger:
arrowdodger

Вчера только наведывался в CERN посмотреть что они там запилили в cling — "интерпретаторе" С/С++ на базе кланга. А сегодня они заявили, что он стабилен и хотят пушить патчи в мэйнстрим.
lists.cs.uiuc.edu
Очень надеюсь, что скоммитят.

@arrowdodger:
arrowdodger

Кланг жгет напалмом и другими горючими жидкостями:
pastie.org

@Strephil:
Strephil

clang не может правильно скомпилировать даже самый простой код из одного цикла и одной функции. кто-то собирался хоронить gcc?

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

@Strephil:
Strephil

А есть ли дистрибутивы GNU/Linux, собранные шлангом?
Попробовал собрать шлангом какое-то гну, собраться то оно собралось, но при запуске просто виснет… GNU is not UNIX!

@notsowelltyped:
notsowelltyped

source.winehq.org — хохо, шланг тот ещё

@Zert:
Zert

поцоны, где я проебался?

код:
uint8_t a[] = {1, 2, 3, 4, 5, 6};
uint8_t* bt = &a[0];

uint32_t res = ((bt++)<<16) | ((bt++)<<8) | *(bt++);
printf("Result: %x\n", res);

bt = &a[0];
uint32_t res1 = (bt[0]<<16) | (bt[1]<<8) | bt[2];
printf("Result1: %x\n", res1);

[zert@zert]:/tmp $>> clang bb.c
[zert@zert]:/tmp $>> ./a.out
Result: 10203
Result1: 10203
[zert@zert]:/tmp $>> gcc bb.c
[zert@zert]:/tmp $>> ./a.out
Result: 10101
Result1: 10203

Почему так?

@O01eg:
O01eg

А чё, шланг не умеет исключений?
"/usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h|76 col 7 error| cannot use 'try' with exceptions disabled
/usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h|89 col 7 error| cannot use 'try' with exceptions disabled
/usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h|102 col 7 error| cannot use 'try' with exceptions disabled
/usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h|115 col 7 error| cannot use 'try' with exceptions disabled
/usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h|128 col 7 error| cannot use 'try' with exceptions disabled
/usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h|141 col 7 error| cannot use 'try' with exceptions disabled
/usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h|154 col 7 error| cannot use 'try' with exceptions disabled"
Настройги плагина такие:
let g:clang_complete_auto = 1
let g:clang_complete_copen = 1
let g:clang_hl_errors = 1
let g:clang_periodic_quickfix = 1
let g:clang_snippets = 1
let g:clang_exec = 'clang++'
let g:clang_user_options = '-fexceptions -Iмного много папок'

@arrowdodger:
arrowdodger

За время 2.8-2.9 в кланге очень много пилили OpenCL, а в ллвм — ARM бэкэнд.

@borman:
borman

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

@arrowdodger:
arrowdodger

Clang has recently gotten much-improved support for the upcoming C++0x standard. In particular, top-of-tree Clang now supports a number of C++0x features:

— Rvalue references (including rvalue references for *this)
— Variadic templates
— Inline namespaces
— Late-specified return types
— Decltype

@LazyMiha:
LazyMiha

Однакож, связка clang+llvm показывает не такие уж плохие результаты по сравниению с gcc, что не может не удивлять и немного радовать. Проект достаточно молодой, но весьма перспективный.
phoronix.com
phoronix.com

Такая няшка :3

@Elemir:
Elemir

Собирается ли $subj(1) $subj(3)^'\'ом'?

@kaberc:
kaberc

опоп, компилятором силэнга уже линуксовое ядро собирают... opennet.ru