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

[identity profile] metaclass.livejournal.com 2012-04-29 03:07 pm (UTC)(link)
В данном случае, хотя код и работает, эвристика gcc выдает warning вполне законно. Автор libev - буйный идиот.