IAR EWARM PC-LINT Запрет сообщений из заголовка, включенного с опцией -header

Я использую IAR EWARM 7.4.

Я следовал приведенным здесь инструкциям: http://www.safetycritical.info/library/static/pc-lint/ewb-pclint-v2.pdf

Я создал заголовок, полный определений компилятора, используя параметр компилятора --predef_macros.

--predef_macros C:\lint\lnt\iar-ewarm-predefined_macros_for_PC-lint.h

В iar-co-arm-v6.lnt я добавил следующее:

//
//    EWARM extended defines
//
-header(C:/lint/lnt/iar-ewarm-predefined_macros_for_PC-lint.h)

Извлеките из этого файла информацию о множестве нарушений MISRA.

Изменить: я попытался добавить строку

+libh(C:/lint/lnt/iar-ewarm-predefined_macros_for_PC-lint.h)

Это сокращает многие из многих нарушений MISRA, но я все еще получаю некоторые, например:

#define __CODE_MEMORY_LIST1__() __CODE_MEM_HELPER1__(__code, 0)
        ^
"LINT: C:\lint\lnt\iar-ewarm-predefined_macros_for_PC-lint.h (150, 9) Note 9026: Function-like macro, '__CODE_MEMORY_LIST1__', defined [MISRA 2012 
Directive 4.9, advisory]"

#define __CODE_MEMORY_LIST2__(_P1) __CODE_MEM_HELPER2__(__code, 0, _P1)
        ^
"LINT: C:\lint\lnt\iar-ewarm-predefined_macros_for_PC-lint.h (151, 9) Note 9026: Function-like macro, '__CODE_MEMORY_LIST2__', defined [MISRA 2012 
Directive 4.9, advisory]"

person Nick    schedule 27.05.2015    source источник


Ответы (1)


Все эти сообщения явно включались с помощью аргумента +elib() в файле au-misra3.lnt. Вот почему они не были включены по умолчанию.

Кроме того, это не сработало, когда я использовал -elib() для их подавления, потому что, когда я включал файл au-misra3.lnt, они снова включались.

Таким образом, ответ таков: включите файл au-misra3.lnt, а затем вручную подавите все сообщения, которые мне не нужны, о библиотечных файлах, потому что это более прозрачно, чем изменение файла, поставляемого с lint, или предоставление моего собственного файла для MISRA. .

person Nick    schedule 03.06.2015