Отключить Lint Info 768 для всех членов структуры

Не знаю, правильно ли здесь задавать вопрос, но я все равно это сделаю.

У меня проблема с Lint, в настоящее время я переношу некоторый код из другого проекта, и есть много элементов структуры, которые в настоящее время не используются в новом проекте. И, конечно же, из-за этого Lint жалуется:

Информация 768: член глобальной структуры 'foo' (строка 89, файл /path/header.h) не указан

Я хотел бы подавить эти сообщения в данный момент (поскольку они нарушают нашу сборку), но я не хотел бы делать это глобально, потому что параллельно с миграцией реализуется код, и мы хотим предотвратить использование членов структуры. Таким образом, у меня остается возможность использовать глобальный файл конфигурации для подавления сообщений для этих членов (т.е. -essym(768, foo)).

Однако у меня есть эта проблема:

typedef struct {
  u16 foo;
  u16 bar;
} t_foobar;

typedef struct {
  u16 foo;
  u16 bar;
  u16 temp;
} t_tempfoobar;

foobar::foo и foobar::bar в настоящее время не используются, поэтому я хотел бы сделать исключение lint для всей структуры t_foobar, но если я использую -esym(foo), я также сделаю исключение для t_tempfoobar::foo, что я и делаю не хочу. Я попробовал -esy(768, t_foobar*) и это не сработало. Я также не могу делать встроенные исключения, такие как:

// lint -e768
typedef struct {
  u16 foo;
  u16 bar;
} t_foobar;
//lint -restore

Это не работает. Единственный способ это работает, если я делаю -e768 в файле конфигурации для Lint.

Есть ли у вас какие-либо предложения о том, как это сделать? без необходимости писать исключение для каждого члена? у этого также есть проблема, заключающаяся в том, что члены других структур с тем же именем также исключаются.

Спасибо за любую помощь


person jdxe    schedule 22.05.2013    source источник
comment
Я решил проблему, структура должна быть названа, а не анонимна, чтобы она работала с подстановочным знаком. -esym(768, t_foobar*) это работает, если структура также имеет имя t_foobar, а не только имя typedef.   -  person jdxe    schedule 23.05.2013
comment
Хорошая работа. Вы должны опубликовать свой предыдущий комментарий как ответ на свой собственный вопрос - таким образом, другим людям в будущем будет очевидно, что вы поняли это, и это может помочь и другим.   -  person embedded_guy    schedule 27.03.2014


Ответы (1)


Ссылаясь на Часто задаваемые вопросы по Gimpel

Некоторые из распространенных ошибок при подавлении сообщений:

  1. Вы используете lint-комментарии в исходном коде, но они не действуют. Не забудьте включить слово «ворс» без пробела перед ним.

    //lint -e620          - OK 
    //-e620          - won't work
    //  lint -e620    - won't work
    

Фрагмент кода в вопросе показывает «пробел» перед строкой, которая здесь кажется проблемой.

person ccoder    schedule 04.07.2016