# This file was generated from template 'codesonar/presets/pow10.conf.in' # # The Power of 10 ruleset was the predecessor of the Jet Propulsion # Laboratory 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 # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="## Follows # Operator" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Conditional Compilation" # POW10:3: Do not use dynamic memory allocation after initialization. WARNING_FILTER += allow class="Dynamic Allocation After Initialization" # POW10:9: Limit the use of pointers. Use no more than two levels of dereferencing per expression. WARNING_FILTER += allow class="Function Pointer" # POW10:4: Limit functions to no more than 60 lines of text. WARNING_FILTER += allow class="Function Too Long" # POW10:1: Restrict to simple control flow constructs. WARNING_FILTER += allow class="Goto Statement" # POW10:7: Check the return value of non-void functions, and check the validity of function parameters. # 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" # POW10:1: Restrict to simple control flow constructs. WARNING_FILTER += allow class="Initialization Cycle" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Macro Argument is both Mixed and Expanded" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Macro Does Not End With } or )" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Macro Does Not Start With { or (" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Macro Name is C Keyword" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Macro Uses # Operator" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Macro Uses ## Operator" # POW10:9: Limit the use of pointers. Use no more than two levels of dereferencing per expression. WARNING_FILTER += allow class="Macro Uses -> Operator" # POW10:9: Limit the use of pointers. Use no more than two levels of dereferencing per expression. WARNING_FILTER += allow class="Macro Uses Unary * Operator" # POW10:9: Limit the use of pointers. Use no more than two levels of dereferencing per expression. WARNING_FILTER += allow class="Macro Uses [] Operator" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Non-Boolean Preprocessor Expression" # POW10:10: Compile with all warnings enabled, and use one or more source code analyzers. WARNING_FILTER += allow class="Not All Warnings Are Enabled" # POW10:5: Use minimally two assertions per function on average. WARNING_FILTER += allow class="Not Enough Assertions" # POW10:9: Limit the use of pointers. Use no more than two levels of dereferencing per expression. WARNING_FILTER += allow class="Pointer Type Inside Typedef" # POW10:2: Give all loops a fixed upper-bound. WARNING_FILTER += allow class="Potential Unbounded Loop" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Preprocessing Directives in Macro Argument" # POW10:1: Restrict to simple control flow constructs. WARNING_FILTER += allow class="Recursion" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Recursive Macro" # POW10:6: Declare data objects at the smallest possible level of scope. WARNING_FILTER += allow class="Scope Could Be File Static" # POW10:6: Declare data objects at the smallest possible level of scope. WARNING_FILTER += allow class="Scope Could Be Local Static" # POW10:9: Limit the use of pointers. Use no more than two levels of dereferencing per expression. WARNING_FILTER += allow class="Too Many Dereferences" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Unbalanced Parenthesis" # POW10:7: Check the return value of non-void functions, and check the validity of function parameters. WARNING_FILTER += allow class="Unchecked Parameter Dereference" language=c # POW10:1: Restrict to simple control flow constructs. WARNING_FILTER += allow class="Unordered Initialization" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #elif" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #elifdef" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #elifndef" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #else" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #error" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #if" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #ifdef" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #import" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #include_next" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #line" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #pragma" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #using" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of #warning" # POW10:1: Restrict to simple control flow constructs. WARNING_FILTER += allow class="Use of " # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of Input/Output Macro" # POW10:3: Do not use dynamic memory allocation after initialization. WARNING_FILTER += allow class="Use of Allocator/Deallocator" # POW10:3: Do not use dynamic memory allocation after initialization. WARNING_FILTER += allow class="Use of Allocator/Deallocator Macro" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Use of Input/Output Macro" # POW10:3: Do not use dynamic memory allocation after initialization. WARNING_FILTER += allow class="Use of delete" # POW10:1: Restrict to simple control flow constructs. WARNING_FILTER += allow class="Use of longjmp" # POW10:3: Do not use dynamic memory allocation after initialization. WARNING_FILTER += allow class="Use of new" # POW10:1: Restrict to simple control flow constructs. WARNING_FILTER += allow class="Use of setjmp" # POW10:8: Limit the use of the preprocessor to file inclusion and simple macros. WARNING_FILTER += allow class="Variadic Macro" # POW10:10: Compile with all warnings enabled, and use one or more source code analyzers. WARNING_FILTER += allow class="Warnings Not Treated As Errors"