:) как не ненавидят gcc, что он им плохого сделал ?
А вот что:
Открытое ПО свячески пытаются лишить основы, простого легковесного компилятора с языка Си, только вот вряд ли это получится сделать. Также не особо-то нужны go, с++11, с#.
Для системных целей gcc есть поддержка Си. С ней gcc лучше любых, к тому же едва ... more →
*clang
Хорошо же вас припекает снизу, фанаты выкормыша Apple, LLVM. Который вечно «всех порвет вот вот уже почти порвал, еще месяц-два-год-три-года», ведь у него такие фичи!!1!!!1!!!!.
Но сейчас мы заняты, покажем вам преимущества после обеда! Только домой доберусь, а то код на домашнем диске!! Если на забуду... И дождя ... more →
А можно clang заставить заткнуться конкретно на одну ошибку на одной строчке кода? А то ругается все время на
/usr/include/qt4/QtCore/qsharedpointer_impl.h:595:43: warning: field 'd' is uninitialized when used here [-Wuninitialized]
inline QWeakPointer(X *ptr) : d(ptr ? d→getAndRef(ptr) : 0), value(ptr)
Применяют ли современные компиляторы copy elision для функции типа
foo (T t)
{
vec [somePos] = t;
}
?
Имеет ли смысл здесь писать const T& вместо T, иными словами?
В комментах багет штульманофагов → http://www.opennet.ru/openforum/vsluhfor...
Во-первых, шланг няша и парсит-ругается даже на тела темплейтных функций, которые никогда не были инстанциированы. Это год.
Что не гуд — это сами плюсы. Пытаюсь написать темплейтную структуру, рекурсивно идущую по std::tuple и выполняющую данный функтор для каждого элемента, и обламываюсь:
non-type template ... more →
Шланг, включенный в XCode 4.4.1, падает от сборки простейшего файла с -Wall: http://codepad.org/hgQZxIS7
Без -Wall собирается на ура.
Причем, судя по всему, где-то в range'ах у шланга косяк, ибо false positives в довольно тривиальном случае.
Олсо, мне таки сегодня днем удалось заставить пахать clang'овский статический анализатор с cmake'ом. Прогнал по личкрафтам. Скука — 7 предупреждений на всю кодобазу, и те о том, что переменная не используется после присваивания.
Пытаюсь погонять хваленый отдельный статический анализатор шланга по личкрафтам.
% ls /tmp/scan-build-2012-03-19-1/failures | wc -l
570
И это только пятая часть файлов попыталась сконпелироваться! Ооок.
Собрал LC из транка шлангом из транка с -Weverything. Чувствую себя как после душа.
Static analyzer в gcc соснул, впрочем. Цланг няша и нашел пару действительно опасных мест в коде. В частности, с виртуальными деструкторами в одном месте лажа была. Стыд-позор мне^W gcc!
Впрочем, класс с explicit-конструктором одного аргумента и не-explicit от двух, но задефолченных, он init list'ом от двух ... more →
Решил снова поебаться с C++11-кодом под шлангом.
The implicitly-declared copy constructor for shared_ptr is deleted because shared_ptr has a move constructor or a move assignment operator (or both), per C++11 12.8p7:
If the class definition does not explicitly declare a copy constructor, one is declared ... more →
Удалось собрать свежий шланг из svn на одной из машин с gcc 4.6. Так эта тварь почему-то считает, что конструктор копирования у std::shared_ptr закрыт. WTF?
Правда, в обычные плюсцы оно, похоже, разучилось: http://paste.pocoo.org/show/562040/
Похоже, шланг научился в лямбды:
22:54:00 d34df00d deadtoo ~/Programming/tmp % clang++ -std=c++11 main.cpp -o main
22:54:01 d34df00d deadtoo ~/Programming/tmp % ./main
22:54:03 d34df00d deadtoo ~/Programming/tmp % cat main.cpp
int main () { [] () {} (); }
Раньше на таком коде он сегфолтился.
Высер clang'а на boost.graph, уматывающий все на сотню экранов, перекрывает все преимущества от цланговских сообщений об ошибках.
Говно.
*clang is used by:
0xd34df00d
0xd34df00d
Hirthwork McGillah
hirthwork
Spiritual ecstasy
rapture
0x2207
0x2207
analizer
analizer
lexszero
lexszero
Anatoly Kalin
m4n71k0r
Mагог Магогович
magog
профессиональный говноед
ulidtko
Cthulhu
Cthulhu
Myp
Myp
0xd34df00d
hirthwork
rapture
0x2207
analizer
lexszero
m4n71k0r
magog
ulidtko
Cthulhu
Myp