Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tip

The table below can be re-ordered, by clicking column headers.

...

Include Page
c:SonarQube C/C++ Plugin_Vc:
SonarQube C/C++ Plugin_V

Checker

Guideline

AssignmentInSubExpression EXP45-C. Do not perform assignments in selection statements
ElseIfWithoutElse MSC01-C. Strive for logical completeness
IdentifierLongerThan31 DCL23-C. Guarantee that mutually visible identifiers are unique
IncAndDecMixedWithOtherOperators EXP30-C. Do not depend on the order of evaluation for side effects
LiteralSuffix DCL16-C. Use "L," not "l," to indicate a long value
NarrowAndWideStringConcat STR10-C. Do not concatenate different type of string literals
NonEmptyCaseWithoutBreak MSC17-C. Finish every set of statements associated with a case label with a break statement
OctalConstantAndSequence DCL18-C. Do not begin integer constants with 0 when specifying a decimal value
S121 EXP19-C. Use braces for the body of an if, for, or while statement
S810 STR00-C. Represent characters using an appropriate type
S810 STR04-C. Use plain char for characters in the basic character set
S814 INT12-C. Do not make assumptions about the type of a plain int bit-field when used in an expression
S819 DCL31-C. Declare identifiers before using them
S819 DCL07-C. Include the appropriate type information in function declarators
S820 DCL31-C. Declare identifiers before using them
S820 INT07-C. Use only explicitly signed or unsigned char type for numeric values
S834 ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
S864 EXP00-C. Use parentheses for precedence of operation
S874 INT13-C. Use bitwise operators only on unsigned operands
S929 DCL20-C. Explicitly specify void when a function accepts no arguments
S930 EXP37-C. Call functions with the correct number and type of arguments
S930 DCL07-C. Include the appropriate type information in function declarators
S935 MSC37-C. Ensure that control never reaches the end of a non-void function
S960 PRE00-C. Prefer inline or static functions to function-like macros
S973 MSC00-C. Compile cleanly at high warning levels
S978 DCL37-C. Do not declare or define a reserved identifier
S982 MSC22-C. Use the setjmp(), longjmp() facility securely
S989 ERR34-C. Detect errors when converting a string to a number
S990 ENV33 ObsoletePosixFunction POS33-C. Do not use vfork() call system()
S1036 MSC20-C. Do not use a switch statement to transfer control into a complex block
S1065 MSC12-C. Detect and remove code that has no effect or is never executed
S1081 STR07-C. Use the bounds-checking interfaces for string manipulation
S1116 EXP15-C. Do not place a semicolon on the same line as an if, for, or while statement
S1116 MSC12-C. Detect and remove code that has no effect or is never executed
S1172 S1116 MSC12-C. Detect and remove code that has no effect or is never executed
S1578 MSC09-C. Character encoding: Use subset of ASCII for safety
S1656 MSC12-C. Detect and remove code that has no effect or is never executed
S1751 MSC07-C. Detect and remove dead code
S1751 MSC12-C. Detect and remove code that has no effect or is never executed
S1762 MSC00-C. Compile cleanly at high warning levels
S1763 MSC07-C. Detect and remove dead code
S1763 MSC12-C. Detect and remove code that has no effect or is never executed
S1764 MSC12-C. Detect and remove code that has no effect or is never executed
S1767 INT36-C. Converting a pointer to integer or integer to pointer
S1836 EXP43-C. Avoid undefined behavior when using restrict-qualified pointers
S1854 MSC13-C. Detect and remove unused values
S1862 MSC12-C. Detect and remove code that has no effect or is never executed
S2095 FIO42-C. Close files when they are no longer needed
S2193 FLP30-C. Do not use floating-point variables as loop counters
S2259 EXP34-C. Do not dereference null pointers
S2583 MSC12-C. Detect and remove code that has no effect or is never executed
S2589 MSC12-C. Detect and remove code that has no effect or is never executed
S2754 MSC12-C. Detect and remove code that has no effect or is never executed
S3518 INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
S3584 MEM31-C. Free dynamically allocated memory when no longer needed
S819 S3588 DCL31 FIO46-C. Declare identifiers before using them
S820 DCL31-C. Declare identifiers before using them
S930 EXP37-C. Call functions with the correct number and type of arguments
S935 MSC37-C. Ensure that control never reaches the end of a non-void function
S973 MSC00-C. Compile cleanly at high warning levels
S978 DCL37-C. Do not declare or define a reserved identifier
Do not access a closed file
SideEffectInRightHandSideOfLogical EXP02-C. Be aware of the short-circuit behavior of the logical AND and OR operators
SingleDeclarationPerStatement DCL04-C. Do not declare more than one variable per declaration S990 ENV33-C. Do not call system()
SwitchWithoutDefault MSC01-C. Strive for logical completeness
TrigraphUsage PRE07-C. Avoid using repeated question marks