Мне нужно иметь возможность подавлять предупреждения lint в определенных строках кода C, и я хотел бы сделать это с помощью встроенных директив. Это для очень большой части устаревшего кода, который я переношу на 64-битную версию, и я бы предпочел поместить директивы в код, а не в Makefile, который запускает lint, поскольку последний довольно неясен.
Проблема в том, что в документации Solaris lint указано, как это сделать только для нескольких типов предупреждений (насколько я могу судить).
В прошлом использовалась следующая форма, и документация Solaris предполагает, что это все еще разрешено, но, похоже, это не работает. Проблема усложняется тем, что lint Solaris не дает номеров ошибок, а использует идентификаторы, такие как E_CAST_INT_TO_SMALL_INT.
Вот старый способ (и их уже много в коде):
/*line -e511*/
/*line -eE_CAST_INT_TO_SMALL_INT */
, просто подставив идентификатор вместо номера ошибки? - person Andy Lester   schedule 22.07.2015E_CAST_INT_TO_SMALL_INT
, являются именно теми проблемами, которые должны устраняться, особенно если они связаны сsize_t
и/или кодом указателя, написанным кем-то, кто знает, что size_t является целым числом без знака. Здесь это звучит слишком вероятно. - person Andrew Henle   schedule 23.07.2015/* line -e511 */
с ворсом Solaris. Вы уверены, что они не предназначены для другого ворса? - person alanc   schedule 23.07.2015/* lint -e511 */
, используются PC-Lint. Линты на основе AT&T использовали другие форматы. - person Mark Plotnick   schedule 23.07.2015