metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-04-28 01:58 pm

libev, забавное

В бабуинанедолбеанедебиане gcc -O2 при компиляции примера работы с libev кидает кучу warnings типа "testev.c:58: warning: dereferencing type-punned pointer will break strict-aliasing rules"

Автор на вопросы на эту тему псит, как команда из 100500 айседов и авторов firebird вместе взятых, в стиле "вы тупые, используйте компилятор C для компиляции C, идите нахрен, это всего лишь warning".

http://comments.gmane.org/gmane.comp.lib.ev/907
http://lists.schmorp.de/pipermail/libev/2010q1/000912.html

собственно патчик: http://lists.schmorp.de/pipermail/libev/attachments/20100218/3c4aaf8c/attachment.txt

[identity profile] tzirechnoy.livejournal.com 2012-04-28 11:05 am (UTC)(link)
А зачем тебя в libev понесло?

Это, типа, предыдущий вопрос так развился?

[identity profile] avnik.livejournal.com 2012-04-28 11:32 am (UTC)(link)
Автор козел.
Сишный код должен компилироваться с -Wall -Werror (И желательно не только gcc, но и clang'ом тоже)

[identity profile] kiryl.livejournal.com 2012-04-28 01:05 pm (UTC)(link)
Патчик говно. Он только прячет warning.

А у автора libev ебанутый code style. Какие-то многоуровневые typedef'ы и тонны макросов.

[identity profile] blackyblack.livejournal.com 2012-04-28 01:33 pm (UTC)(link)
Автор читает лекции про си, но так и не объясняет, нахрена писать такой код. Наверное это мега оптимизация...

[identity profile] vaddimka.livejournal.com 2012-04-29 01:48 pm (UTC)(link)
элайасинг забавная штука
причем, афаик еще в 2008-й студии такие оптимизации отсутствовали
(тем не менее, зачастую то что собирает последняя студия работает заметно шустрее того что собирает gcc)
проще не пытаться избавиться от ворнингов, а реально разобраться почему это компилятор считает что правила нарушены, в большинстве случаев эти ворнинги ошибочны