Russian Qt Forum

Разное => Говорилка => Тема начата: Пантер от Декабрь 15, 2014, 10:01



Название: [5.4.0] Новая проверка при сборке
Отправлено: Пантер от Декабрь 15, 2014, 10:01
Поставил тут себе Кьют 5.4.0 и пересобрал проект, при этом получив ворнинг:
Код:
chttpsessionpool.cpp:195:3: warning: ignoring return value of function declared with warn_unused_result attribute [-Wunused-result]
                timeLast.addMSecs(-SESSION_EXPIRE);
И действительно, addMSecs метод константный, соответственно, в данном месте ошибка - код делает не то, что от него хотели.
В общем, есть макрос Q_REQUIRED_RESULT, которым теперь помечены такие методы. Его кот:
Код:
#  define Q_REQUIRED_RESULT __attribute__ ((__warn_unused_result__))

Хорошо, когда добавляются такие вот проверки на глупость. Побольше бы их, тогда и жизнь слаще будет.  :D


Название: Re: [5.4.0] Новая проверка при сборке
Отправлено: Пантер от Декабрь 15, 2014, 10:22
Правда, работает только с clang.


Название: Re: [5.4.0] Новая проверка при сборке
Отправлено: Alex Custov от Декабрь 16, 2014, 12:48
Правда, работает только с clang.

Интересно почему. В gcc тот же warn_unused_result


Название: Re: [5.4.0] Новая проверка при сборке
Отправлено: Пантер от Декабрь 16, 2014, 12:56
Правда, работает только с clang.

Интересно почему. В gcc тот же warn_unused_result
ХЗ. Собирал gcc - ворнингов не появилось. Кому интересно, может перепроверить.
Мой gcc:

Код:
gcc --version
gcc (Gentoo 4.8.3 p1.1, pie-0.5.9) 4.8.3
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.