
The emacro options enable or disable messages within the expansions of specified macros.-estring and +estring work similiarly to esym for other text mentioned in messages.esym(#,name) would suppress message # when a particular instance of the message mentions name. Messages mentioning a particular variable, class, structure, or function can be suppressed or enabled using -esym or +esym,Į.g.A message can be suppressed on a single line by adding a comment of the form //lint !e# to temporarily disable message #.The simplest suppression options, +e# and -e#, enable or disable message #Įverywhere after the point where they are encounterd.
#PCLP NO2 PLUS#
PC-lint Plus can distinguish third-party or library source codeįrom the rest of the project and separate suppression policies can be applied to such code. The names of the classes, structures, variables, functions, or macros that the message MessagesĬan be enabled or suppressed globally, on a per-file, per-function, per-statement basis, depending on Whether or not a particular instance of a message will be emitted or ignored. PC-lint Plus contains a variety of flexible ways to control message suppression, i.e. Messages can be controlled on a case-by-casis basis as described below. Individual rules can be enabled and disabled, and MISRA checking can be quickly enabled using configuration files distributed 'signed16' to an object of wider essential type 'signed32' [MISRA C 2012 M1.c 4 note 9031: cannot assign a composite expression of essential type We communicate extensively with the MISRA committee to implement even the smallest detailsĪnd resolve ambiguities in the published text.Ĭlear and concise diagnostics make rule violations easy to understand:

#PCLP NO2 MANUAL#
Supported is available in our manual and MISRA configuration files. Which messages are used to report them, and the extent to which they are Detailed information on which rules are supported, MISRA C 2012, MISRA C 2004, and MISRA C++ 2008 as well as theirĪddendums and corrigenda. PC-lint Plus provides industry-leading support for MISRA standards including Running with -w4 (warning level 4, the highest warning levelĬorresponding to enabling all messages including elective notes) wouldįile.cpp 1 note 970: use of modifier or type 'int' outside of a typedefįile.cpp 1 note 957: function 'f' defined without a prototype in scopeįile.cpp 1 note 9141: global declaration of symbol 'f'įile.cpp 1 note 979: function 'f' could be marked with a 'pure' semanticįile.cpp 3 note 904: return statement before end of function 'f'įile.cpp 1 note 952: parameter 'x' of function 'f(int)' could be const Using default settings, the only message issued for this exampleįile.cpp 1 info 714: external symbol 'f' was defined but not referencedīecause the default warning level excludes "elective notes" like message 9012. Level 1, the lowest warning level enabling only syntax errors, and then This output was produced using the options -w1 +e9012 which uses warning To see PC-lint Plus in action, consider the following example:įile.cpp 3 note 9012: body should be a compound statement PC-lint Plus can be run from the command line, integrated into your build process or continuous integration system, or run from within your IDE. The diagnostic message format is fully customizable and includes precise location information and context necessary to quickly address defects.


PC-lint Plus then reports its findings using clear, concise, and actionable diagnostics that are easy to understand. Including Data Flow Analysis, Value Tracking, read-write analysis, Strong Type checking, function semantic validation, and many other technologies to provide a robust and holisticĪnalysis of both individual files and an entire project. From there, PC-lint Plus employs various mechanisms
#PCLP NO2 CODE#
Like a compiler, PC-lint Plus parses your source code files, performs semantic analysis, and builds an abstract syntax tree to represent your program.
#PCLP NO2 SOFTWARE#
PC-lint Plus is a static analysis tool that finds defects in software by analyzing the C and C++ source code. See Also For PC-lint / FlexeLint users Static vs Dynamic Analysis
