# This file was generated from template 'codesonar/presets/jpl.conf.in' # # The Jet Propulsion Laboratory ruleset is the successor of the Power # of 10 ruleset. Neither is a subset of the other. # # This part of this file was generated from 'cso_wcmanifest.py' # # At least one of the classes enabled by this preset requires unnormalized C ASTs RETAIN_UNNORMALIZED_C_AST = Yes # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="## Follows # Operator" # JPL:19: Do not use expressions with side effects. WARNING_FILTER += allow class="Assignment Result in Expression" # JPL:17: Use U32, I16, etc instead of predefined C data types such as int, short, etc. WARNING_FILTER += allow class="Basic Numerical Type Used" # JPL:1: Do not stray outside the language definition. WARNING_FILTER += allow class="C++ Comment in C" # JPL:31: Do not place code or declarations before an #include directive. WARNING_FILTER += allow class="Code Before #include" # JPL:19: Do not use expressions with side effects. WARNING_FILTER += allow class="Condition Contains Side Effects" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Conditional Compilation" # JPL:9: Place restrictions on the use of semaphores and locks. WARNING_FILTER += allow class="Conflicting Lock Order" # JPL:30: Do not cast function pointers into other types. WARNING_FILTER += allow class="Conversion from Function Pointer" # JPL:5: Do not use dynamic memory allocation after task initialization. WARNING_FILTER += allow class="Dynamic Allocation After Initialization" # JPL:25: Use short functions with a limited number of parameters. WARNING_FILTER += allow class="Ellipsis" # JPL:30: Do not cast function pointers into other types. WARNING_FILTER += allow class="Function Pointer Conversion" # JPL:25: Use short functions with a limited number of parameters. WARNING_FILTER += allow class="Function Too Long" # JPL:1: Do not stray outside the language definition. WARNING_FILTER += allow class="GNU Extension" # JPL:1: Do not stray outside the language definition. WARNING_FILTER += allow class="GNU Typeof" # JPL:11: Do not use goto, setjmp or longjmp. WARNING_FILTER += allow class="Goto Statement" # JPL:14: Check the return value of non-void functions, or explicitly cast to (void). # This check is enabled by default for the language(s) C, C++, x86, x86_64 # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Ignored Return Value" # JPL:12: Do not use selective value assignments to elements of an enum list. WARNING_FILTER += allow class="Inconsistent Enumerator Initialization" # JPL:18: Make the order of evaluation in compound expressions explicit. WARNING_FILTER += allow class="Indeterminate Order of Evaluation" # JPL:9: Place restrictions on the use of semaphores and locks. WARNING_FILTER += allow class="Lock/Unlock Mismatch" # JPL:9: Place restrictions on the use of semaphores and locks. WARNING_FILTER += allow class="Locked Twice" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Macro Argument is both Mixed and Expanded" # JPL:21: Do not define macros within a function or a block. WARNING_FILTER += allow class="Macro Defined in Function Body" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Macro Does Not End With } or )" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Macro Does Not Start With { or (" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Macro Name is C Keyword" # JPL:21: Do not define macros within a function or a block. WARNING_FILTER += allow class="Macro Undefined in Function Body" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Macro Uses # Operator" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Macro Uses ## Operator" # JPL:28: Do not hide dereference operations inside macros or typedefs. WARNING_FILTER += allow class="Macro Uses -> Operator" # JPL:28: Do not hide dereference operations inside macros or typedefs. WARNING_FILTER += allow class="Macro Uses Unary * Operator" # JPL:28: Do not hide dereference operations inside macros or typedefs. WARNING_FILTER += allow class="Macro Uses [] Operator" # JPL:1: Do not stray outside the language definition. WARNING_FILTER += allow class="Microsoft Extension" # JPL:9: Place restrictions on the use of semaphores and locks. WARNING_FILTER += allow class="Missing Lock Acquisition" # JPL:9: Place restrictions on the use of semaphores and locks. WARNING_FILTER += allow class="Missing Lock Release" # JPL:18: Make the order of evaluation in compound expressions explicit. WARNING_FILTER += allow class="Missing Parentheses" # JPL:24: Place no more than one statement or declaration per line of text. WARNING_FILTER += allow class="Multiple Declarations On Line" # JPL:24: Place no more than one statement or declaration per line of text. WARNING_FILTER += allow class="Multiple Statements On Line" # JPL:9: Place restrictions on the use of semaphores and locks. WARNING_FILTER += allow class="Nested Locks" # JPL:23: Place #else, #elif, and #endif in the same file as the matching #if or #ifdef. WARNING_FILTER += allow class="No Matching #endif" # JPL:23: Place #else, #elif, and #endif in the same file as the matching #if or #ifdef. WARNING_FILTER += allow class="No Matching #if" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Non-Boolean Preprocessor Expression" # JPL:13: Declare data objects at smallest possible level of scope. WARNING_FILTER += allow class="Non-distinct Identifiers: Nested Scope" # JPL:2: Compile with all warnings enabled; use static source code analyzers. WARNING_FILTER += allow class="Not All Warnings Are Enabled" # JPL:16: Use static and dynamic assertions as sanity checks. WARNING_FILTER += allow class="Not Enough Assertions" # JPL:28: Do not hide dereference operations inside macros or typedefs. WARNING_FILTER += allow class="Pointer Type Inside Typedef" # JPL:3: Use verifiable loop bounds for all loops meant to be terminating. WARNING_FILTER += allow class="Potential Unbounded Loop" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Preprocessing Directives in Macro Argument" # JPL:4: Do not use direct or indirect recursion. WARNING_FILTER += allow class="Recursion" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Recursive Macro" # JPL:13: Declare data objects at smallest possible level of scope. WARNING_FILTER += allow class="Scope Could Be File Static" # JPL:13: Declare data objects at smallest possible level of scope. WARNING_FILTER += allow class="Scope Could Be Local Static" # JPL:19: Do not use expressions with side effects. WARNING_FILTER += allow class="Side Effects in Expression with Decrement" # JPL:19: Do not use expressions with side effects. WARNING_FILTER += allow class="Side Effects in Expression with Increment" # JPL:19: Do not use expressions with side effects. WARNING_FILTER += allow class="Side Effects in Initializer List" # JPL:19: Do not use expressions with side effects. WARNING_FILTER += allow class="Side Effects in Logical Operand" # JPL:19: Do not use expressions with side effects. WARNING_FILTER += allow class="Side Effects in sizeof" # JPL:7: Do not use task delays for task synchronization. WARNING_FILTER += allow class="Task Delay Function" # JPL:27: Use no more than two levels of dereferencing per object reference. WARNING_FILTER += allow class="Too Many Dereferences" # JPL:25: Use short functions with a limited number of parameters. WARNING_FILTER += allow class="Too Many Parameters" # JPL:19: Do not use expressions with side effects. WARNING_FILTER += allow class="Too Many Side Effects in Assignment" # JPL:19: Do not use expressions with side effects. WARNING_FILTER += allow class="Too Many Side Effects in Condition" # JPL:19: Do not use expressions with side effects. WARNING_FILTER += allow class="Too Many Side Effects in Function Call" # JPL:19: Do not use expressions with side effects. WARNING_FILTER += allow class="Too Many Side Effects in Statement" # JPL:19: Do not use expressions with side effects. WARNING_FILTER += allow class="Too Many Side Effects in Switch" # JPL:26: Use no more than two levels of indirection per declaration. WARNING_FILTER += allow class="Too Much Indirection in Declaration" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Unbalanced Parenthesis" # JPL:15: Check the validity of values passed to functions. WARNING_FILTER += allow class="Unchecked Parameter Dereference" language=c # JPL:9: Place restrictions on the use of semaphores and locks. WARNING_FILTER += allow class="Unknown Lock" # JPL:22: Do not undefine or redefine macros. WARNING_FILTER += allow class="Use of #undef" # JPL:11: Do not use goto, setjmp or longjmp. WARNING_FILTER += allow class="Use of " # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Use of Input/Output Macro" # JPL:5: Do not use dynamic memory allocation after task initialization. WARNING_FILTER += allow class="Use of Allocator/Deallocator" # JPL:5: Do not use dynamic memory allocation after task initialization. WARNING_FILTER += allow class="Use of Allocator/Deallocator Macro" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Use of Input/Output Macro" # JPL:5: Do not use dynamic memory allocation after task initialization. WARNING_FILTER += allow class="Use of delete" # JPL:11: Do not use goto, setjmp or longjmp. WARNING_FILTER += allow class="Use of longjmp" # JPL:5: Do not use dynamic memory allocation after task initialization. WARNING_FILTER += allow class="Use of new" # JPL:11: Do not use goto, setjmp or longjmp. WARNING_FILTER += allow class="Use of setjmp" # JPL:20: Make only very limited use of the C pre-processor. WARNING_FILTER += allow class="Variadic Macro" # JPL:2: Compile with all warnings enabled; use static source code analyzers. WARNING_FILTER += allow class="Warnings Not Treated As Errors"