[devel] I: welcome fresh toolchain
Damir Shayhutdinov
damir на altlinux.org
Чт Май 21 11:51:54 MSD 2009
> -c sockmisc.c -fPIC -DPIC -o .libs/sockmisc.o
> cc1: warnings being treated as errors
> sockmisc.c: In function 'recvfromto':
> sockmisc.c:407: error: dereferencing pointer 'ss.37' does break strict-aliasing rules
> sockmisc.c:407: note: initialized from here
> make[1]: *** [sockmisc.lo] Error 1
>
> Чтение вышеприведенных ссылок и гугленние ясности не принесли.
> Строка, на которой отваливается сборка:
>
> sin->sin_port = ((struct sockaddr_in *)&ss)->sin_port;
>
> Знающие, подскажите, пожалуйста, как это правильно объехать?
> Неиспользование '-Werror' -- только как самый крайний вариант ...
Объявить ss как union {
<текущий тип ss> ss;
struct sockaddr_in sin;
};
Далее там где требуется текущий тип ss (не знаю какой), использовать ss.ss,
а ту строчку, на которую ругается компилятор, заменить на
sin->sin_port = ss.sin.sin_port;
Подробная информация о списке рассылки Devel