MISRA / QA-C message suppression with Doxygen

I am currently working on a project that must meet the requirements of MISRA 2012. But in the embedded world, you cannot execute every MISRA rule. Therefore, I have to suppress some messages generated by QA-C. What is the best solution for this?

I was thinking of creating a table in each module header file with links (\ ref and \ anchor) to the corresponding lines of code, description, etc. The first problem is this: I cannot use the Doxygen markdown table function, because then the description should be on the same line, because Doxygen tables do not support line breaks. So I was thinking about using a simple shorthand table, what do you think?

Or is there a way to automatically create such a table?

Hello m0nKeY

+4
source share
2 answers

According to MISRA, all such unwanted rules must be handled by your rejection procedure, given that they are either “required” or “advisory”. You are not allowed to deviate from the “mandatory” rules. (Strictly speaking, you do not need to invoke the rejection procedure for advisory rules.)

, - . MISRA , , , . , , , C, .

, , . , , , , .

, , .

, / . , .

+2

: doxygen, \xrefitem

. \reviewme, , . . \reviewedby, \xrefitem, , , . , . , , . , . .

, : :

xrefitem doxy, .

ALIASES = "reviewme = \xrefitem reviewme \"This section needs peer review\" \"Documentation block or code sections that need peer review\""

GUI, Expert->Project->Aliases ,

reviewme = \xrefitem reviewme "This section needs peer review" "Documentation block or code sections that need peer review"

, .

\xrefitem , doxygen , \todo \bug. , .

MISRA: . . , - . , "" . , . , REGEX script, doxygen, \xrefitem, . vera, doxy .

+1

Source: https://habr.com/ru/post/1570421/


All Articles