0xd34df00d
30.01.2013 12:59
:) как не ненавидят gcc, что он им плохого сделал ?
А вот что:
Открытое ПО свячески пытаются лишить основы, простого легковесного компилятора с языка Си, только вот вряд ли это получится сделать. Также не особо-то нужны go, с++11, с#.
Для системных целей gcc есть поддержка Си. С ней gcc лучше любых, к тому же едва ... more →
0xd34df00d
29.01.2013 00:30
Хорошо же вас припекает снизу, фанаты выкормыша Apple, LLVM. Который вечно «всех порвет вот вот уже почти порвал, еще месяц-два-год-три-года», ведь у него такие фичи!!1!!!1!!!!.
Но сейчас мы заняты, покажем вам преимущества после обеда! Только домой доберусь, а то код на домашнем диске!! Если на забуду... И дождя ... more →
0xd34df00d
20.01.2013 23:27
А можно 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)
0xd34df00d
11.01.2013 15:44
Применяют ли современные компиляторы copy elision для функции типа
foo (T t)
{
vec [somePos] = t;
}
?
Имеет ли смысл здесь писать const T& вместо T, иными словами?
0xd34df00d
26.10.2012 11:10
Во-первых, шланг няша и парсит-ругается даже на тела темплейтных функций, которые никогда не были инстанциированы. Это год.
Что не гуд — это сами плюсы. Пытаюсь написать темплейтную структуру, рекурсивно идущую по std::tuple и выполняющую данный функтор для каждого элемента, и обламываюсь:
non-type template ... more →
0xd34df00d
02.05.2012 19:06
Причем, судя по всему, где-то в range'ах у шланга косяк, ибо false positives в довольно тривиальном случае.
0xd34df00d
02.05.2012 18:59
Олсо, мне таки сегодня днем удалось заставить пахать clang'овский статический анализатор с cmake'ом. Прогнал по личкрафтам. Скука — 7 предупреждений на всю кодобазу, и те о том, что переменная не используется после присваивания.
0xd34df00d
18.03.2012 21:47
Пытаюсь погонять хваленый отдельный статический анализатор шланга по личкрафтам.
% ls /tmp/scan-build-2012-03-19-1/failures | wc -l
570
И это только пятая часть файлов попыталась сконпелироваться! Ооок.
0xd34df00d
18.03.2012 20:27
Собрал LC из транка шлангом из транка с -Weverything. Чувствую себя как после душа.
0xd34df00d
18.03.2012 19:42
Static analyzer в gcc соснул, впрочем. Цланг няша и нашел пару действительно опасных мест в коде. В частности, с виртуальными деструкторами в одном месте лажа была. Стыд-позор мне^W gcc!
Впрочем, класс с explicit-конструктором одного аргумента и не-explicit от двух, но задефолченных, он init list'ом от двух ... more →
0xd34df00d
18.03.2012 17:43
Решил снова поебаться с 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 →
0xd34df00d
07.03.2012 19:10
Удалось собрать свежий шланг из svn на одной из машин с gcc 4.6. Так эта тварь почему-то считает, что конструктор копирования у std::shared_ptr закрыт. WTF?
0xd34df00d
06.03.2012 18:54
Похоже, шланг научился в лямбды:
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 () { [] () {} (); }
Раньше на таком коде он сегфолтился.
0xd34df00d
01.06.2011 19:32
Высер clang'а на boost.graph, уматывающий все на сотню экранов, перекрывает все преимущества от цланговских сообщений об ошибках.
Говно.
0xd34df00d
01.06.2011 11:43
А соберу-ка я личкрафты с -fcatch-undefined-behavior и погоняю чуток.