У меня есть некоторый код, какПодавить -Wtautological Сравните предупреждение
Q_ASSERT(value_which_is_always_smaller_than_4 < 4)
где Q_ASSERT является QTs Assert макроса. Теперь clang, видя это, предупреждает меня об этом, потому что сравнение всегда верно. Приятно, что это может обнаружить это, но это точка утверждения assert. Могу ли я как-то подавить предупреждение, но только в утверждениях? Мне все равно нравилось, когда меня предупреждали в других местах.
@JoachimPileborg: OP хочет предупреждение в других местах. '-Wnotautological-compare' будет подавлять предупреждение повсюду. – Nawaz
Если clang может обнаружить это, это означает, что значение value_which_is_always_smaller_than_4 является константой времени компиляции. В этом случае вы можете использовать утверждения времени компиляции (например, 'static_assert' в C++) для утверждения по их значению, что, безусловно, лучше, чем утверждение времени исполнения. – Shahbaz