[devel] warn_unused_result портят жизнь мэйнтейнеру

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Окт 24 07:43:35 MSD 2006


On Tue, Oct 24, 2006 at 06:07:52AM +0700, Slava Semushin wrote:
> 
> --- Alexey Tourbin 2006-10-24 02:17:15 +0400
> +++ Slava Semushin 2006-10-24 05:59:52 +0700
> 
> AT> Вообще сейчас warn_unused_result 
> 
>     Ох, задели больную тему...
> 
>     У меня три пакета (libtap, wmdiskmon и wmbday) с -Wall -Werror не
>     пересобираются из-за этих проблем c неиспользуемым результатом. В
>     частности из-за fgets()/vasprintf()/asprintf(). Также я не обновляю
>     clines потому что там вылезли варнинги с write().
> 
>     Чесгря только час назад об этом всём думал. Я начал их фиксить.  Но
>     не уверен, что правильно. Поэтому я думаю, как-то отключить эти
>     предупреждения. Или вовсе тогда -Werror уберу.
> 
>     Пожалуйста, объясните, зачем были введены эти предупреждения? И почему
>     аж в -Wall ? Почему бы не включать их по -W? Неужто всё так серьёзно?
> 
>     Также интересно возможно ли как-то заткнуть эти предупреждения?
>     -Wno-что? Приведение к void не помогло. В случае с libtap, значение
>     [v]asprintf() проверяется, только чуть иначе -- по первому аргументу.

-Wno-pointer-sign помогает в коде, в котором перемешано 'char *' и
'unsigned char *'.  Ещё помогает -fno-strict-aliasing, это какой-то
gcc'шный бзик, который я до конца не понимаю; к тому же в результате
компиляции этот strict aliasing может дать потенциально ошибочный код,
что однако на практике я пока краем уха слышал только про IA64.

В общем -Werror нужен только для "очень важных" пакетов или для куражу,
например собственный код поправить.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20061024/447cdbee/attachment-0001.bin>


Подробная информация о списке рассылки Devel