# This file was generated from template 'codesonar/presets/misrac++_inc.conf.in' # # Configuration settings required by one or more MISRA C++ checks. SCOPE_CHECK_SUGGESTS_LOCAL_STATIC = Yes BOOL_TYPES += bool,true,false # # 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 # MisraC++2023:19.3.2: A macro parameter immediately following a # operator shall not immediately be followed by a ## operator WARNING_FILTER += allow class="## Follows # Operator" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:8.20.1: An unsigned arithmetic operation with constant operands should not wrap WARNING_FILTER += allow class="Addition Overflow of Allocation Size" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:8.20.1: An unsigned arithmetic operation with constant operands should not wrap WARNING_FILTER += allow class="Addition Overflow of Size" language=c++ # MisraC++2008:7-3-3: There shall be no unnamed namespaces in header files. # MisraC++2023:10.3.1: There shall be no unnamed namespaces in header files WARNING_FILTER += allow class="Anonymous Namespace in Header File" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Arctangent Domain Error" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Argument Too High" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Argument Too Low" language=c++ # MisraC++2008:5-2-12: An identifier with array type passed as a function argument shall not decay to a pointer. # MisraC++2023:7.11.2: An array passed as a function argument shall not decay to a pointer WARNING_FILTER += allow class="Array to Pointer Decay" language=c++ # MisraC++2008:7-4-2: Assembler instructions shall only be introduced using the asm declaration. # MisraC++2023:10.4.1: The asm declaration shall not be used WARNING_FILTER += allow class="Assembly Pragma" language=c++ # MisraC++2008:6-2-1: Assignment operators shall not be used in sub-expressions. # MisraC++2023:8.18.2: The result of an assignment operator should not be used WARNING_FILTER += allow class="Assignment Result in Expression" language=c++ # MisraC++2008:6-6-2: The goto statement shall jump to a label declared later in the same function body. # MisraC++2023:9.6.1: The goto statement should not be used # MisraC++2023:9.6.3: The goto statement shall jump to a label declared later in the function body WARNING_FILTER += allow class="Backwards goto" language=c++ # MisraC++2008:2-13-1: Only those escape sequences that are defined in ISO/IEC 14882:2003 shall be used. # MisraC++2023:5.13.1: Within character literals and non raw-string literals, \ shall only be used to form a defined escape sequence or universal character name # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Bad Character Value" language=c++ # MisraC++2023:13.3.1: User-declared member functions shall use the virtual, override and final specifiers appropriately # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Bad Return Type on Virtual Function Override" language=c++ # MisraC++2008:3-9-2: typedefs that indicate size and signedness should be used in place of the basic numerical types. # MisraC++2023:6.9.2: The names of the standard signed integer types and standard unsigned integer types should not be used WARNING_FILTER += allow class="Basic Numerical Type Used" language=c++ # MisraC++2008:9-6-2: Bit-fields shall be either bool type or an explicitly unsigned or signed integral type. # MisraC++2008:9-6-3: Bit-fields shall not have enum type. # MisraC++2023:12.2.1: Bit fields should not be declared WARNING_FILTER += allow class="Bit-field Signedness Not Explicit" language=c++ # MisraC++2008:9-5-1: Unions shall not be used. # MisraC++2023:12.2.1: Bit fields should not be declared WARNING_FILTER += allow class="Bit-field in Union" language=c++ # MisraC++2008:6-3-1: The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement. # MisraC++2008:6-4-1: An if ( condition ) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement. # MisraC++2023:9.3.1: The body of an iteration-statement or a selection-statement shall be a compound-statement WARNING_FILTER += allow class="Body Is Not Compound Statement" language=c++ # MisraC++2008:6-4-7: The condition of a switch statement shall not have bool type. WARNING_FILTER += allow class="Boolean switch Expression" language=c++ # MisraC++2008:15-0-3: Control shall not be transferred into a try or catch block using a goto or a switch statement. # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Branch Into Handler" language=c++ # MisraC++2008:15-0-3: Control shall not be transferred into a try or catch block using a goto or a switch statement. # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Branch Into try Block" language=c++ # MisraC++2008:5-0-16: A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:4.1.3: There shall be no occurrence of undefined or critical unspecified behaviour # MisraC++2023:8.7.1: Pointer arithmetic shall not form an invalid pointer # 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="Buffer Overrun" language=c++ # MisraC++2008:5-0-16: A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Buffer Underrun" language=c++ # MisraC++2008:5-2-4: C-style casts (other than void casts) and functional notation casts (other than explicit constructor calls) shall not be used. # MisraC++2023:8.2.2: C-style casts and functional notation casts shall not be used WARNING_FILTER += allow class="C-style Cast" language=c++ # MisraC++2008:5-0-9: An explicit integral conversion shall not change the signedness of the underlying type of a cvalue expression. # MisraC++2008:5-2-2: A pointer to a virtual base class shall only be cast to a pointer to a derived class by means of dynamic_cast. # MisraC++2008:7-2-1: An expression with enum underlying type shall only have values corresponding to the enumerators of the enumeration. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:8.2.1: A virtual base class shall only be cast to a derived class by means of dynamic_cast # MisraC++2023:8.20.1: An unsigned arithmetic operation with constant operands should not wrap # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Cast Alters Value" language=c++ # MisraC++2008:5-2-5: A cast shall not remove any const or volatile qualification from the type of a pointer or reference. # MisraC++2023:8.2.3: A cast shall not remove any const or volatile qualification from the type accessed via a pointer or by reference WARNING_FILTER += allow class="Cast Removes const Qualifier" language=c++ # MisraC++2008:5-2-5: A cast shall not remove any const or volatile qualification from the type of a pointer or reference. # MisraC++2023:8.2.3: A cast shall not remove any const or volatile qualification from the type accessed via a pointer or by reference WARNING_FILTER += allow class="Cast Removes volatile Qualifier" language=c++ # MisraC++2008:5-2-7: An object with pointer type shall not be converted to an unrelated pointer type, either directly or indirectly. WARNING_FILTER += allow class="Cast: Object Pointers" language=c++ # MisraC++2008:5-2-2: A pointer to a virtual base class shall only be cast to a pointer to a derived class by means of dynamic_cast. # MisraC++2008:5-2-7: An object with pointer type shall not be converted to an unrelated pointer type, either directly or indirectly. # MisraC++2023:8.2.1: A virtual base class shall only be cast to a derived class by means of dynamic_cast # MisraC++2023:8.2.5: reinterpret_cast shall not be used WARNING_FILTER += allow class="Cast: Virtual Base to Derived" language=c++ # MisraC++2023:8.2.5: reinterpret_cast shall not be used WARNING_FILTER += allow class="Cast: reinterpret_cast" language=c++ # MisraC++2008:16-0-1: #include directives in a file shall only be preceded by preprocessor directives or comments. # MisraC++2023:19.0.3: #include directives should only be preceded by preprocessor directives or comments WARNING_FILTER += allow class="Code Before #include" language=c++ # MisraC++2008:5-0-4: An implicit integral conversion shall not change the signedness of the underlying type. # MisraC++2008:5-0-6: An implicit integral or floating-point conversion shall not reduce the size of the underlying type. # MisraC++2008:7-2-1: An expression with enum underlying type shall only have values corresponding to the enumerators of the enumeration. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:7.0.5: Integral promotion and the usual arithmetic conversions shall not change the signedness or the type category of an operand # MisraC++2023:8.20.1: An unsigned arithmetic operation with constant operands should not wrap # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Coercion Alters Value" language=c++ # MisraC++2008:4-10-2: Literal zero (0) shall not be used as the null-pointer-constant. # MisraC++2023:7.11.1: nullptr shall be the only form of the null-pointer-constant WARNING_FILTER += allow class="Coercion: Integer Constant to Pointer" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Command Injection" language=c++ # MisraC++2008:2-7-2: Sections of code shall not be "commented out" using C-style comments. # MisraC++2008:2-7-3: Sections of code should not be "commented out" using C++ comments. # MisraC++2023:5.7.2: Sections of code should not be "commented out" WARNING_FILTER += allow class="Commented-out Code" language=c++ # MisraC++2008:5-0-18: > , >= , < , <= shall not be applied to objects of pointer type, except where they point to the same array. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:8.9.1: The built-in relational operators >, >=, < and <= shall not be applied to objects of pointer type, except where they point to elements of the same array # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Comparison of Unrelated Pointers" language=c++ # MisraC++2023:4.1.1: A program shall conform to ISO/IEC 14882:2017 (C++17) WARNING_FILTER += allow class="Compilation Error in File" language=c++ # MisraC++2008:5-0-13: The condition of an if-statement and the condition of an iteration-statement shall have type bool. WARNING_FILTER += allow class="Condition Is Not Boolean" language=c++ # MisraC++2023:15.1.5: A class shall only define an initializer-list constructor when it is the only constructor WARNING_FILTER += allow class="Confusing Initializer-list Constructor" language=c++ # MisraC++2008:2-13-4: Literal suffixes shall be upper case. # MisraC++2023:5.13.5: The lowercase form of "L" shall not be used as the first character in a literal suffix # MisraC++2023:5.13.6: An integer literal of type long long shall not use a single L or l in any suffix WARNING_FILTER += allow class="Confusing Literal Suffix" language=c++ # MisraC++2008:5-2-11: The comma operator, && operator and the || operator shall not be overloaded. # MisraC++2008:5-3-3: The unary & operator shall not be overloaded. # MisraC++2023:16.5.1: The logical AND and logical OR operators shall not be overloaded # MisraC++2023:16.5.2: The address-of operator shall not be overloaded WARNING_FILTER += allow class="Confusing Operator Overload" language=c++ # MisraC++2023:7.0.6: Assignment between numeric types shall be appropriate # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Constant Narrowing Conversion" language=c++ # MisraC++2008:6-6-3: The continue statement shall only be used within a well-formed for loop. WARNING_FILTER += allow class="Continue Statement" language=c++ # MisraC++2023:15.1.3: Conversion operators and constructors that are callable with a single argument shall be explicit WARNING_FILTER += allow class="Conversion Operator Not Explicit" language=c++ # MisraC++2008:5-2-6: A cast shall not convert a pointer to a function to any other pointer type, including a pointer to function type. # MisraC++2008:5-2-7: An object with pointer type shall not be converted to an unrelated pointer type, either directly or indirectly. # MisraC++2008:8-4-4: A function identifier shall either be used to call the function or it shall be preceded by &. # MisraC++2023:8.2.4: Casts shall not be performed between a pointer to a function and any other type WARNING_FILTER += allow class="Conversion from Function Pointer" language=c++ # MisraC++2008:8-4-4: A function identifier shall either be used to call the function or it shall be preceded by &. # MisraC++2023:7.11.3: A conversion from function type to pointer-to-function type shall only occur in appropriate contexts # MisraC++2023:8.2.4: Casts shall not be performed between a pointer to a function and any other type WARNING_FILTER += allow class="Conversion to Function Pointer" language=c++ # MisraC++2008:5-0-13: The condition of an if-statement and the condition of an iteration-statement shall have type bool. # MisraC++2008:5-0-14: The first operand of a conditional-operator shall have type bool. # MisraC++2008:5-3-1: Each operand of the ! operator, the logical && or the logical || operators shall have type bool. # MisraC++2023:7.0.2: There shall be no conversion to type bool WARNING_FILTER += allow class="Conversion to Type bool" language=c++ # MisraC++2008:5-2-7: An object with pointer type shall not be converted to an unrelated pointer type, either directly or indirectly. WARNING_FILTER += allow class="Conversion: Pointer to Incomplete" language=c++ # MisraC++2008:5-2-7: An object with pointer type shall not be converted to an unrelated pointer type, either directly or indirectly. # MisraC++2008:5-2-8: An object with integer type or pointer to void type shall not be converted to an object with pointer type. # MisraC++2008:5-2-9: A cast should not convert a pointer type to an integral type. # MisraC++2023:8.2.6: An object with integral, enumerated, or pointer to void type shall not be converted to an object with pointer type # MisraC++2023:8.2.7: A cast should not convert a pointer type to an integral type WARNING_FILTER += allow class="Conversion: Pointer/Integer" language=c++ # MisraC++2008:5-2-7: An object with pointer type shall not be converted to an unrelated pointer type, either directly or indirectly. # MisraC++2008:5-2-8: An object with integer type or pointer to void type shall not be converted to an object with pointer type. # MisraC++2023:8.2.6: An object with integral, enumerated, or pointer to void type shall not be converted to an object with pointer type WARNING_FILTER += allow class="Conversion: Void Pointer to Object Pointer" language=c++ # MisraC++2008:12-8-1: A copy constructor shall only initialize its base classes and the non- static members of the class of which it is a member. WARNING_FILTER += allow class="Copy Operation Parameter Is Not const" language=c++ # MisraC++2008:5-2-4: C-style casts (other than void casts) and functional notation casts (other than explicit constructor calls) shall not be used. # MisraC++2008:5-2-6: A cast shall not convert a pointer to a function to any other pointer type, including a pointer to function type. # MisraC++2008:8-4-4: A function identifier shall either be used to call the function or it shall be preceded by &. # MisraC++2023:4.1.3: There shall be no occurrence of undefined or critical unspecified behaviour # MisraC++2023:8.2.2: C-style casts and functional notation casts shall not be used # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Dangerous Function Cast" language=c++ # MisraC++2008:16-2-4: The ', ", /* or // characters shall not occur in a header file name. # MisraC++2008:16-2-5: The \ character should not occur in a header file name. # MisraC++2023:19.2.3: The ', \ or " characters and the /* or // character sequences shall not occur in a header file name WARNING_FILTER += allow class="Dangerous Include File Name" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Data Race" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Deadlock" language=c++ # MisraC++2008:17-0-2: The names of standard library macros and objects shall not be reused. # MisraC++2008:17-0-3: The names of standard library functions shall not be overridden. WARNING_FILTER += allow class="Declaration of Reserved Name" language=c++ # MisraC++2008:0-1-10: Every defined function shall be called at least once. # MisraC++2008:0-1-3: A project shall not contain unused variables. # MisraC++2008:0-1-4: A project shall not contain non-volatile POD variables having only one use. # MisraC++2023:0.2.1: Variables with limited visibility should be used at least once # MisraC++2023:0.2.4: Functions with limited visibility should be used at least once WARNING_FILTER += allow class="Declared but Not Referenced" language=c++ # MisraC++2023:4.1.2: Deprecated features should not be used # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Deprecated Entity" language=c++ # MisraC++2008:5-2-2: A pointer to a virtual base class shall only be cast to a pointer to a derived class by means of dynamic_cast. # MisraC++2008:5-2-7: An object with pointer type shall not be converted to an unrelated pointer type, either directly or indirectly. # MisraC++2023:8.2.1: A virtual base class shall only be cast to a derived class by means of dynamic_cast # MisraC++2023:8.2.5: reinterpret_cast shall not be used WARNING_FILTER += allow class="Derived Class From Virtual Base" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:4.1.3: There shall be no occurrence of undefined or critical unspecified behaviour # 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="Division By Zero" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:15.8.1: User-provided copy assignment and move assignment operators shall handle self-assignment # 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="Double Close" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:15.8.1: User-provided copy assignment and move assignment operators shall handle self-assignment # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Double Free" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Double Initialization" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Double Lock" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Double Unlock" language=c++ # MisraC++2008:18-4-1: Dynamic heap memory allocation shall not be used. # MisraC++2023:21.6.2: Dynamic memory shall be managed automatically WARNING_FILTER += allow class="Dynamic Allocation After Initialization" language=c++ # MisraC++2023:4.1.1: A program shall conform to ISO/IEC 14882:2017 (C++17) WARNING_FILTER += allow class="Dynamic Exception Specification Not Permitted" language=c++ # MisraC++2023:4.1.2: Deprecated features should not be used # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Dynamic Exception Specifications Deprecated" language=c++ # MisraC++2008:8-4-1: Functions shall not be defined using the ellipsis notation. # MisraC++2023:8.2.11: An argument passed via ellipsis shall have an appropriate type WARNING_FILTER += allow class="Ellipsis" language=c++ # MisraC++2023:4.1.1: A program shall conform to ISO/IEC 14882:2017 (C++17) # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Empty throw Specification Not C++20" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Encryption without Padding" language=c++ # MisraC++2023:10.2.1: An enumeration shall be defined with an explicit underlying type WARNING_FILTER += allow class="Enumeration Has Implicit Underlying Type" language=c++ # MisraC++2008:0-1-9: There shall be no dead code. WARNING_FILTER += allow class="Explicit Zero Alignment" language=c++ # MisraC++2008:5-0-3: A cvalue expression shall not be implicitly converted to a different underlying type. # MisraC++2008:5-0-5: There shall be no implicit floating-integral conversions. WARNING_FILTER += allow class="Expression Value Widened by Assignment" language=c++ # MisraC++2008:5-0-3: A cvalue expression shall not be implicitly converted to a different underlying type. # MisraC++2008:5-0-5: There shall be no implicit floating-integral conversions. WARNING_FILTER += allow class="Expression Value Widened by Other Operand" language=c++ # MisraC++2008:3-1-3: When an array is declared, its size shall either be stated explicitly or defined implicitly by initialization. # MisraC++2023:6.0.2: When an array with external linkage is declared, its size should be explicitly specified WARNING_FILTER += allow class="Extern Array Without Size" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="File Open for Both Read and Write" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="File System Race Condition" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:4.1.3: There shall be no occurrence of undefined or critical unspecified behaviour # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Float Division By Zero" language=c++ # MisraC++2023:0.3.1: Floating-point arithmetic should be used appropriately # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Float Multiplication Overflow" language=c++ # MisraC++2008:3-9-3: The underlying bit representations of floating-point values shall not be used. WARNING_FILTER += allow class="Float Pointer Conversion" language=c++ # MisraC++2008:6-5-1: A for loop shall contain a single loop-counter which shall not have floating type. # MisraC++2023:9.5.1: Legacy for statements should be simple WARNING_FILTER += allow class="Float-typed Loop Counter" language=c++ # MisraC++2008:6-2-2: Floating-point expressions shall not be directly or indirectly tested for equality or inequality. WARNING_FILTER += allow class="Floating Point Equality" language=c++ # MisraC++2008:7-3-2: The identifier main shall not be used for a function other than the global function main. # MisraC++2023:6.0.4: The identifier main shall not be used for a function other than the global function main WARNING_FILTER += allow class="Forbidden Function Name in Namespace" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Format String Injection" language=c++ # MisraC++2008:0-1-8: All functions with void return type shall have external side effect(s). # MisraC++2008:0-1-9: There shall be no dead code. # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Function Call Has No Effect" language=c++ # MisraC++2008:3-1-1: It shall be possible to include any header file in multiple translation units without violating the One Definition Rule. # MisraC++2023:6.2.1: The one-definition rule shall not be violated # MisraC++2023:6.2.4: A header file shall not contain definitions of functions or objects that are non-inline and have external linkage WARNING_FILTER += allow class="Function Defined in Header File" language=c++ # MisraC++2008:5-2-6: A cast shall not convert a pointer to a function to any other pointer type, including a pointer to function type. # MisraC++2008:8-4-4: A function identifier shall either be used to call the function or it shall be preceded by &. WARNING_FILTER += allow class="Function Pointer Conversion" language=c++ # MisraC++2008:16-0-4: Function-like macros shall not be defined. # MisraC++2023:19.0.2: Function-like macros shall not be defined WARNING_FILTER += allow class="Function-Like Macro" language=c++ # MisraC++2008:3-2-1: All declarations of an object or function shall have compatible types. # MisraC++2008:3-9-1: The types used for an object, a function return type, or a function parameter shall be token-for-token identical in all declarations and re-declarations. # MisraC++2023:6.2.2: All declarations of a variable or function shall have the same type WARNING_FILTER += allow class="Global Variable Declared with Different Types" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="GlobalHandle on GMEM_FIXED Memory" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="GlobalLock on GMEM_FIXED Memory" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="GlobalUnlock on GMEM_FIXED Memory" language=c++ # MisraC++2023:9.6.1: The goto statement should not be used WARNING_FILTER += allow class="Goto Statement" language=c++ # MisraC++2008:0-1-7: The value returned by a function having a non-void return type that is not an overloaded operator shall always be used. # MisraC++2008:0-3-2: If a function generates error information, then that error information shall be tested. # MisraC++2023:0.1.2: The value returned by a function shall be used # MisraC++2023:28.6.4: The result of std::remove, std::remove_if, std::unique and empty shall be used # 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" language=c++ # MisraC++2008:8-4-4: A function identifier shall either be used to call the function or it shall be preceded by &. WARNING_FILTER += allow class="Implicit Address of Function" language=c++ # MisraC++2023:15.0.2: User-provided copy and move member functions of a class should have appropriate signatures WARNING_FILTER += allow class="Implicit Constructor Shadowing" language=c++ # MisraC++2008:2-13-5: Narrow and wide string literals shall not be concatenated. # MisraC++2023:5.13.7: Strings with different encoding prefixes shall not be concatenated WARNING_FILTER += allow class="Implicit Encoding in String Concatenation" language=c++ # MisraC++2023:4.1.2: Deprecated features should not be used # MisraC++2023:6.5.1: A function or object with external linkage should be introduced in a header file # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Implicit Function Declaration" language=c++ # MisraC++2008:10-1-1: Classes should not be derived from virtual bases. # MisraC++2023:13.1.1: Classes should not be inherited virtually WARNING_FILTER += allow class="Implicit Inheritance from Stateful Virtual Base" language=c++ # MisraC++2023:8.1.2: Variables should be captured explicitly in a non-transient lambda WARNING_FILTER += allow class="Implicit Lambda Capture" language=c++ # MisraC++2023:8.1.1: A non-transient lambda shall not implicitly capture this WARNING_FILTER += allow class="Implicit Lambda Capture of this" language=c++ # MisraC++2008:5-0-11: The plain char type shall only be used for the storage and use of character values. # MisraC++2008:5-0-12: signed char and unsigned char type shall only be used for the storage and use of numeric values. # MisraC++2008:5-0-3: A cvalue expression shall not be implicitly converted to a different underlying type. # MisraC++2008:5-0-5: There shall be no implicit floating-integral conversions. # MisraC++2008:5-0-6: An implicit integral or floating-point conversion shall not reduce the size of the underlying type. WARNING_FILTER += allow class="Inappropriate Assignment Type" language=c++ # MisraC++2008:9-6-2: Bit-fields shall be either bool type or an explicitly unsigned or signed integral type. # MisraC++2008:9-6-3: Bit-fields shall not have enum type. # MisraC++2023:12.2.2: A bit-field shall have an appropriate type WARNING_FILTER += allow class="Inappropriate Bit-field Type" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Inappropriate C Atomic Initialization" language=c++ # MisraC++2008:5-0-7: There shall be no explicit floating-integral conversions of a cvalue expression. # MisraC++2008:5-0-8: An explicit integral or floating-point conversion shall not increase the size of the underlying type of a cvalue expression. WARNING_FILTER += allow class="Inappropriate Cast Type: Expression" language=c++ # MisraC++2008:4-5-3: Expressions with type (plain) char and wchar_t shall not be used as operands to built-in operators other than the assignment operator = , the equality operators == and != , and the unary & operator. # MisraC++2008:5-0-11: The plain char type shall only be used for the storage and use of character values. # MisraC++2008:5-0-12: signed char and unsigned char type shall only be used for the storage and use of numeric values. # MisraC++2023:7.0.3: The numerical value of a character shall not be used WARNING_FILTER += allow class="Inappropriate Character Arithmetic" language=c++ # MisraC++2023:13.3.4: A comparison of a potentially virtual pointer to member shall only be with nullptr WARNING_FILTER += allow class="Inappropriate Comparison of Virtual Member Function" language=c++ # MisraC++2008:7-3-1: The global namespace shall only contain main, namespace declarations and extern "C" declarations. # MisraC++2023:6.0.3: The only declarations in the global namespace shall be main, namespace declarations and extern "C" declarations WARNING_FILTER += allow class="Inappropriate Declaration in Global Namespace" language=c++ # "Inappropriate Include File Specification" is not enabled by this preset. # - All of its relevant categories are more closely related to other classes that are enabled by the preset. # - MisraC++2008:16-2-6 is better matched by "Malformed #include" # - MisraC++2023:19.2.2 is better matched by "Malformed #include" # MisraC++2008:5-0-11: The plain char type shall only be used for the storage and use of character values. # MisraC++2008:5-0-12: signed char and unsigned char type shall only be used for the storage and use of numeric values. # MisraC++2008:5-0-3: A cvalue expression shall not be implicitly converted to a different underlying type. # MisraC++2008:5-0-5: There shall be no implicit floating-integral conversions. # MisraC++2008:5-0-6: An implicit integral or floating-point conversion shall not reduce the size of the underlying type. # MisraC++2023:7.0.6: Assignment between numeric types shall be appropriate WARNING_FILTER += allow class="Inappropriate Numeric Assignment" language=c++ # MisraC++2008:4-5-1: Expressions with type bool shall not be used as operands to built-in operators other than the assignment operator = , the logical operators && , || , ! , the equality operators == and != , the unary & operator, and the conditional operator. # MisraC++2008:4-5-2: Expressions with type enum shall not be used as operands to built-in operators other than the subscript operator [ ] , the assignment operator = , the equality operators == and != , the unary & operator, and the relational operators < , <= , > , >= . # MisraC++2008:4-5-3: Expressions with type (plain) char and wchar_t shall not be used as operands to built-in operators other than the assignment operator = , the equality operators == and != , and the unary & operator. # MisraC++2008:5-0-11: The plain char type shall only be used for the storage and use of character values. # MisraC++2008:5-0-12: signed char and unsigned char type shall only be used for the storage and use of numeric values. # MisraC++2008:5-0-14: The first operand of a conditional-operator shall have type bool. # MisraC++2008:5-0-20: Non-constant operands to a binary bitwise operator shall have the same underlying type. # MisraC++2008:5-0-21: Bitwise operators shall only be applied to operands of unsigned underlying type. # MisraC++2008:5-3-1: Each operand of the ! operator, the logical && or the logical || operators shall have type bool. # MisraC++2008:5-3-2: The unary minus operator shall not be applied to an expression whose underlying type is unsigned. # MisraC++2023:7.0.3: The numerical value of a character shall not be used # MisraC++2023:7.0.4: The operands of bitwise operators and shift operators shall be appropriate # MisraC++2023:8.3.1: The built-in unary - operator should not be applied to an expression of unsigned type WARNING_FILTER += allow class="Inappropriate Operand Type" language=c++ # MisraC++2008:19-3-1: The error indicator errno shall not be used. WARNING_FILTER += allow class="Inappropriate Test of Error Code" language=c++ # MisraC++2023:10.1.2: Volatile qualification shall be used appropriately WARNING_FILTER += allow class="Inappropriate Volatile Declaration" language=c++ # MisraC++2023:18.5.1: A noexcept function should not attempt to propagate an exception to the calling function WARNING_FILTER += allow class="Inappropriate throw in noexcept Function" language=c++ # MisraC++2008:16-2-3: Include guards shall be provided. # MisraC++2023:19.2.1: Precautions shall be taken in order to prevent the contents of a header file being included more than once WARNING_FILTER += allow class="Include File Without Guard" language=c++ # MisraC++2008:15-4-1: If a function is declared with an exception-specification, then all declarations of the same function (in other translation units) shall be declared with the same set of type-ids. # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Incompatible Exception Specification" language=c++ # MisraC++2023:4.1.2: Deprecated features should not be used # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Incomplete Function Prototype" language=c++ # MisraC++2008:8-5-3: In an enumerator list, the = construct shall not be used to explicitly initialize members other than the first, unless all items are explicitly initialized. # MisraC++2023:11.6.3: Within an enumerator list, the value of an implicitly-specified enumeration constant shall be unique WARNING_FILTER += allow class="Inconsistent Enumerator Initialization" language=c++ # MisraC++2008:3-2-1: All declarations of an object or function shall have compatible types. # MisraC++2008:3-9-1: The types used for an object, a function return type, or a function parameter shall be token-for-token identical in all declarations and re-declarations. # MisraC++2008:8-4-2: The identifiers used for the parameters in a re-declaration of a function shall be identical to those in the declaration. # MisraC++2023:13.3.3: The parameters in all declarations or overrides of a function shall either be unnamed or have identical names # MisraC++2023:6.2.2: All declarations of a variable or function shall have the same type # MisraC++2023:6.9.1: The same type aliases shall be used in all declarations and re- declarations of the same entity # "Inconsistent Function Declarations" is not enabled by this preset. # - It is not compatible with INCREMENTAL_BUILD=Yes. # MisraC++2008:3-2-1: All declarations of an object or function shall have compatible types. # MisraC++2008:3-9-1: The types used for an object, a function return type, or a function parameter shall be token-for-token identical in all declarations and re-declarations. # MisraC++2023:6.2.2: All declarations of a variable or function shall have the same type # MisraC++2023:6.9.1: The same type aliases shall be used in all declarations and re- declarations of the same entity # "Inconsistent Object Declarations" is not enabled by this preset. # - It is not compatible with INCREMENTAL_BUILD=Yes. # MisraC++2008:5-0-1: The value of an expression shall be the same under any order of evaluation that the standard permits. # MisraC++2023:4.6.1: Operations on a memory location shall be sequenced appropriately WARNING_FILTER += allow class="Indeterminate Order of Evaluation" language=c++ # MisraC++2008:7-4-3: Assembly language shall be encapsulated and isolated. # MisraC++2023:10.4.1: The asm declaration shall not be used WARNING_FILTER += allow class="Inline Assembly Code" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:30.0.2: Reads and writes on the same file stream shall be separated by a positioning operation # 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="Input After Output Without Positioning" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Integer Overflow of Allocation Size" language=c++ # MisraC++2008:16-0-8: If the # token appears as the first token on a line, then it shall be immediately followed by a preprocessing token. # MisraC++2023:19.0.1: A line whose first token is # shall be a valid preprocessing directive WARNING_FILTER += allow class="Invalid Preprocessor Directive" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="LDAP Injection" language=c++ # MisraC++2008:6-6-1: Any label referenced by a goto statement shall be declared in the same block, or in a block enclosing the goto statement. # MisraC++2023:9.6.2: A goto statement shall reference a label in a surrounding block WARNING_FILTER += allow class="Label Not In Enclosing Block" language=c++ # MisraC++2023:15.8.1: User-provided copy assignment and move assignment operators shall handle self-assignment # 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="Leak" language=c++ # MisraC++2008:17-0-1: Reserved identifiers, macros and functions in the standard library shall not be defined, redefined or undefined. # MisraC++2008:2-10-5: The identifier name of a non-member object or function with static storage duration should not be reused. WARNING_FILTER += allow class="Library Function Override" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Library Injection" language=c++ # MisraC++2023:5.7.3: Line-splicing shall not be used in // comments WARNING_FILTER += allow class="Line Splicing in Comment" language=c++ # MisraC++2023:5.10.1: User-defined identifiers shall have an appropriate form # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Literal Suffix No Underscore" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Local Variable Passed to Thread" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="LocalHandle on LMEM_FIXED Memory" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="LocalLock on LMEM_FIXED Memory" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="LocalUnlock on LMEM_FIXED Memory" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Logarithm on Negative Value" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Logarithm on Zero" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="MAX_PATH Exceeded" language=c++ # MisraC++2008:16-3-2: The # and ## operators should not be used. # MisraC++2023:19.3.1: The # and ## preprocessor operators should not be used # MisraC++2023:19.3.3: The argument to a mixed-use macro parameter shall not be subject to further expansion WARNING_FILTER += allow class="Macro Argument is both Mixed and Expanded" language=c++ # MisraC++2008:17-0-1: Reserved identifiers, macros and functions in the standard library shall not be defined, redefined or undefined. WARNING_FILTER += allow class="Macro Definition of Reserved Name" language=c++ # MisraC++2008:16-0-6: In the definition of a function-like macro, each instance of a parameter shall be enclosed in parentheses, unless it is used as the operand of # or ## . # MisraC++2023:19.3.4: Parentheses shall be used to ensure macro arguments are expanded appropriately WARNING_FILTER += allow class="Macro Parameter Not Parenthesized" language=c++ # MisraC++2008:16-0-3: #undef shall not be used. # MisraC++2008:17-0-1: Reserved identifiers, macros and functions in the standard library shall not be defined, redefined or undefined. WARNING_FILTER += allow class="Macro Undefinition of Reserved Name" language=c++ # MisraC++2008:16-3-2: The # and ## operators should not be used. # MisraC++2023:19.3.1: The # and ## preprocessor operators should not be used WARNING_FILTER += allow class="Macro Uses # Operator" language=c++ # MisraC++2008:16-3-2: The # and ## operators should not be used. # MisraC++2023:19.3.1: The # and ## preprocessor operators should not be used WARNING_FILTER += allow class="Macro Uses ## Operator" language=c++ # MisraC++2008:16-2-6: The #include directive shall be followed by either a or "filename" sequence. # MisraC++2023:19.2.2: The #include directive shall be followed by either a or "filename" sequence WARNING_FILTER += allow class="Malformed #include" language=c++ # MisraC++2008:6-5-3: The loop-counter shall not be modified within condition or statement. # MisraC++2008:6-5-5: A loop-control-variable other than the loop-counter shall not be modified within condition or expression. # MisraC++2023:9.5.1: Legacy for statements should be simple WARNING_FILTER += allow class="Malformed for-loop Condition" language=c++ # MisraC++2008:6-5-3: The loop-counter shall not be modified within condition or statement. # MisraC++2023:9.5.1: Legacy for statements should be simple WARNING_FILTER += allow class="Malformed for-loop Initialization" language=c++ # MisraC++2008:6-5-4: The loop-counter shall be modified by one of -- , ++ , -=n , or +=n; where n remains constant for the duration of the loop. # MisraC++2008:6-5-5: A loop-control-variable other than the loop-counter shall not be modified within condition or expression. # MisraC++2023:9.5.1: Legacy for statements should be simple WARNING_FILTER += allow class="Malformed for-loop Step" language=c++ # MisraC++2008:6-4-3: A switch statement shall be a well-formed switch statement. # MisraC++2023:9.4.2: The structure of a switch statement shall be appropriate WARNING_FILTER += allow class="Malformed switch Statement" language=c++ # MisraC++2008:15-3-7: Where multiple handlers are provided in a single try-catch statement or function-try-block, any ellipsis (catch-all) handler shall occur last. # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Masked by Default Handler" language=c++ # MisraC++2008:15-3-6: Where multiple handlers are provided in a single try-catch statement or function-try-block for a derived class and some or all of its bases, the handlers shall be ordered most-derived to base class. # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Masked by Handler" language=c++ # MisraC++2008:9-3-3: If a member function can be made static then it shall be made static, otherwise if it can be made const then it shall be made const. # MisraC++2023:10.1.1: The target type of a pointer or lvalue reference parameter should be const-qualified appropriately WARNING_FILTER += allow class="Member Function Could Be const" language=c++ # MisraC++2008:9-3-3: If a member function can be made static then it shall be made static, otherwise if it can be made const then it shall be made const. WARNING_FILTER += allow class="Member Function Could Be static" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Memory Protection Removal" language=c++ # MisraC++2008:8-3-1: Parameters in an overriding virtual function shall either use the same default arguments as the function they override, or else shall not specify any default arguments. # MisraC++2023:13.3.2: Parameters in an overriding virtual function shall not introduce different default arguments WARNING_FILTER += allow class="Method Default Value Mismatch" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Misaligned Object" language=c++ # MisraC++2008:5-0-11: The plain char type shall only be used for the storage and use of character values. # MisraC++2008:5-0-12: signed char and unsigned char type shall only be used for the storage and use of numeric values. # MisraC++2008:5-0-3: A cvalue expression shall not be implicitly converted to a different underlying type. # MisraC++2008:5-0-5: There shall be no implicit floating-integral conversions. # MisraC++2023:4.1.2: Deprecated features should not be used WARNING_FILTER += allow class="Mismatched Operand Types" language=c++ # MisraC++2008:6-6-5: A function shall have a single point of exit at the end of the function. WARNING_FILTER += allow class="Misplaced Return Statement" language=c++ # MisraC++2008:7-3-5: Multiple declarations for an identifier in the same namespace shall not straddle a using-declaration for that identifier. WARNING_FILTER += allow class="Misplaced Using Declaration" language=c++ # MisraC++2008:6-4-4: A switch-label shall only be used when the most closely-enclosing compound statement is the body of a switch statement. # MisraC++2023:9.4.2: The structure of a switch statement shall be appropriate WARNING_FILTER += allow class="Misplaced case" language=c++ # MisraC++2008:6-4-6: The final clause of a switch statement shall be the default-clause. # MisraC++2023:9.4.2: The structure of a switch statement shall be appropriate WARNING_FILTER += allow class="Misplaced default" language=c++ # MisraC++2008:8-5-2: Braces shall be used to indicate and match the structure in the non-zero initialization of arrays and structures. WARNING_FILTER += allow class="Missing Braces in Initialization" language=c++ # MisraC++2008:3-2-3: A type, object or function that is used in multiple translation units shall be declared in one and only one file. # MisraC++2023:6.5.1: A function or object with external linkage should be introduced in a header file # "Missing External Declaration" is not enabled by this preset. # - It is not compatible with INCREMENTAL_BUILD=Yes. # MisraC++2008:3-2-2: The One Definition Rule shall not be violated. # MisraC++2008:3-2-4: An identifier with external linkage shall have exactly one definition. # MisraC++2023:6.2.1: The one-definition rule shall not be violated # "Missing External Definition" is not enabled by this preset. # - It is not compatible with INCREMENTAL_BUILD=Yes. # MisraC++2008:6-4-2: All if ... else if constructs shall be terminated with an else clause. # MisraC++2023:9.4.1: All if ... else if constructs shall be terminated with an else statement WARNING_FILTER += allow class="Missing Final else" language=c++ # MisraC++2008:2-13-3: A "U" suffix shall be applied to all octal or hexadecimal integer literals of unsigned type. # MisraC++2023:5.13.4: Unsigned integer literals shall be appropriately suffixed WARNING_FILTER += allow class="Missing Literal Suffix" language=c++ # MisraC++2008:5-0-2: Limited dependence should be placed on C++ operator precedence rules in expressions. # MisraC++2023:8.0.1: Parentheses should be used to make the meaning of an expression appropriately explicit WARNING_FILTER += allow class="Missing Parentheses" language=c++ # MisraC++2008:8-4-3: All exit paths from a function with non-void return type shall have an explicit return statement with an expression. # MisraC++2023:4.1.2: Deprecated features should not be used # MisraC++2023:9.6.5: A function with non-void return type shall return a value on all paths # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Missing Return Statement" language=c++ # MisraC++2008:0-3-2: If a function generates error information, then that error information shall be tested. WARNING_FILTER += allow class="Missing Test of Error Code" language=c++ # MisraC++2008:6-4-5: An unconditional throw or break statement shall terminate every non-empty switch-clause. # MisraC++2023:9.4.2: The structure of a switch statement shall be appropriate WARNING_FILTER += allow class="Missing break" language=c++ # MisraC++2008:6-4-6: The final clause of a switch statement shall be the default-clause. # MisraC++2023:9.4.2: The structure of a switch statement shall be appropriate WARNING_FILTER += allow class="Missing default" language=c++ # MisraC++2023:21.6.4: If a project defines either a sized or unsized version of a global delete operator, then both shall be defined WARNING_FILTER += allow class="Missing delete" language=c++ # MisraC++2023:9.5.1: Legacy for statements should be simple WARNING_FILTER += allow class="Missing for-loop Step" language=c++ # MisraC++2023:9.5.1: Legacy for statements should be simple WARNING_FILTER += allow class="Missing for-loop Termination" language=c++ # MisraC++2023:18.4.1: Exception-unfriendly functions shall be noexcept WARNING_FILTER += allow class="Missing noexcept" language=c++ # MisraC++2008:7-4-3: Assembly language shall be encapsulated and isolated. # MisraC++2023:10.4.1: The asm declaration shall not be used WARNING_FILTER += allow class="Mixed Assembly and Code" language=c++ # MisraC++2008:2-13-5: Narrow and wide string literals shall not be concatenated. # MisraC++2023:5.13.7: Strings with different encoding prefixes shall not be concatenated # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Mixed Encodings in String Concatenation" language=c++ # MisraC++2023:5.10.1: User-defined identifiers shall have an appropriate form WARNING_FILTER += allow class="Modification of Standard Namespaces" language=c++ # MisraC++2008:6-6-4: For any iteration statement there shall be no more than one break or goto statement used for loop termination. WARNING_FILTER += allow class="Multiple Abnormal Loop Exits" language=c++ # MisraC++2023:10.0.1: A declaration shall not declare more than one variable or member variable WARNING_FILTER += allow class="Multiple Declarations On Line" language=c++ # MisraC++2008:3-2-3: A type, object or function that is used in multiple translation units shall be declared in one and only one file. WARNING_FILTER += allow class="Multiple Declarations of a Global" language=c++ # MisraC++2008:3-2-3: A type, object or function that is used in multiple translation units shall be declared in one and only one file. # "Multiple External Declarations" is not enabled by this preset. # - It is not compatible with INCREMENTAL_BUILD=Yes. # MisraC++2008:3-2-2: The One Definition Rule shall not be violated. # MisraC++2008:3-2-4: An identifier with external linkage shall have exactly one definition. # MisraC++2023:6.2.1: The one-definition rule shall not be violated # MisraC++2023:6.2.3: The source code used to implement an entity shall appear only once # "Multiple External Definitions" is not enabled by this preset. # - It is not compatible with INCREMENTAL_BUILD=Yes. # MisraC++2008:6-6-5: A function shall have a single point of exit at the end of the function. WARNING_FILTER += allow class="Multiple Return Statements" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:8.20.1: An unsigned arithmetic operation with constant operands should not wrap WARNING_FILTER += allow class="Multiplication Overflow of Allocation Size" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:8.20.1: An unsigned arithmetic operation with constant operands should not wrap WARNING_FILTER += allow class="Multiplication Overflow of Size" language=c++ # MisraC++2008:4-10-1: NULL shall not be used as an integer value. WARNING_FILTER += allow class="NULL Used as Integer" language=c++ # MisraC++2023:5.10.1: User-defined identifiers shall have an appropriate form WARNING_FILTER += allow class="Naming Style Violation" language=c++ # MisraC++2008:5-8-1: The right hand operand of a shift operator shall lie between zero and one less than the width in bits of the underlying type of the left hand operand. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:4.1.3: There shall be no occurrence of undefined or critical unspecified behaviour # MisraC++2023:7.0.4: The operands of bitwise operators and shift operators shall be appropriate # 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="Negative Shift Amount" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Negative file descriptor" language=c++ # MisraC++2008:2-7-1: The character sequence /* shall not be used within a C-style comment. # MisraC++2023:5.7.1: The character sequence /* shall not be used within a C-style comment # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Nested Comment" language=c++ # MisraC++2008:3-1-2: Functions shall not be declared at block scope. # MisraC++2023:6.0.1: Block scope declarations shall not be visually ambiguous WARNING_FILTER += allow class="Nested Function Declaration" language=c++ # MisraC++2008:16-1-2: All #else, #elif and #endif preprocessor directives shall reside in the same file as the #if or #ifdef directive to which they are related. # MisraC++2023:19.1.2: All #else, #elif and #endif preprocessor directives shall reside in the same file as the #if, #ifdef or #ifndef directive to which they are related WARNING_FILTER += allow class="No Matching #endif" language=c++ # MisraC++2008:16-1-2: All #else, #elif and #endif preprocessor directives shall reside in the same file as the #if or #ifdef directive to which they are related. # MisraC++2023:19.1.2: All #else, #elif and #endif preprocessor directives shall reside in the same file as the #if, #ifdef or #ifndef directive to which they are related WARNING_FILTER += allow class="No Matching #if" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="No Space For Null Terminator" language=c++ # MisraC++2023:6.7.2: Global variables shall not be used WARNING_FILTER += allow class="Non-const Global Variable" language=c++ # MisraC++2023:6.7.1: Local variables shall not have static storage duration WARNING_FILTER += allow class="Non-const Local Static Variable" language=c++ # MisraC++2023:28.3.1: Predicates shall not have persistent side effects WARNING_FILTER += allow class="Non-const Predicate Function Object" language=c++ # MisraC++2023:4.1.2: Deprecated features should not be used WARNING_FILTER += allow class="Non-const String Literal" language=c++ # MisraC++2008:2-10-2: Identifiers declared in an inner scope shall not hide an identifier declared in an outer scope. # MisraC++2023:6.4.1: A variable declared in an inner scope shall not hide a variable declared in an outer scope WARNING_FILTER += allow class="Non-distinct Identifiers: Nested Scope" language=c++ # MisraC++2008:2-10-6: If an identifier refers to a type, it shall not also refer to an object or a function in the same scope. WARNING_FILTER += allow class="Non-distinct Identifiers: Same Scope" language=c++ # MisraC++2023:15.0.1: Special member functions shall be provided appropriately WARNING_FILTER += allow class="Non-final Class has Non-Virtual Public Destructor" language=c++ # MisraC++2008:2-10-5: The identifier name of a non-member object or function with static storage duration should not be reused. WARNING_FILTER += allow class="Non-unique Identifiers: Internal Name" language=c++ # MisraC++2008:2-10-4: A class, union or enum name (including qualification, if any) shall be a unique identifier. WARNING_FILTER += allow class="Non-unique Identifiers: Tag" language=c++ # MisraC++2008:2-10-3: A typedef name (including qualification, if any) shall be a unique identifier. WARNING_FILTER += allow class="Non-unique Identifiers: Typedef" language=c++ # MisraC++2008:0-3-2: If a function generates error information, then that error information shall be tested. # MisraC++2008:19-3-1: The error indicator errno shall not be used. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Non-zero Error Code" language=c++ # MisraC++2008:19-3-1: The error indicator errno shall not be used. # MisraC++2023:22.4.1: The literal value zero shall be the only value assigned to errno WARNING_FILTER += allow class="Non-zero Error Code Assignment" language=c++ # MisraC++2023:4.1.1: A program shall conform to ISO/IEC 14882:2017 (C++17) WARNING_FILTER += allow class="Not All Warnings Are Enabled" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:15.8.1: User-provided copy assignment and move assignment operators shall handle self-assignment # MisraC++2023:4.1.3: There shall be no occurrence of undefined or critical unspecified behaviour # 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="Null Pointer Dereference" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Null Security Descriptor" language=c++ # MisraC++2008:3-1-1: It shall be possible to include any header file in multiple translation units without violating the One Definition Rule. # MisraC++2023:6.2.1: The one-definition rule shall not be violated # MisraC++2023:6.2.4: A header file shall not contain definitions of functions or objects that are non-inline and have external linkage WARNING_FILTER += allow class="Object Defined in Header File" language=c++ # MisraC++2008:12-8-2: The copy assignment operator shall be declared protected or private in an abstract class. # MisraC++2008:15-3-5: A class type exception shall always be caught by reference. # MisraC++2023:18.3.2: An exception of class type shall be caught by const reference or reference # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Object Slicing" language=c++ # MisraC++2008:2-13-2: Octal constants (other than zero) and octal escape sequences (other than "\0") shall not be used. # MisraC++2023:5.13.3: Octal constants shall not be used WARNING_FILTER += allow class="Octal Constant" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:30.0.2: Reads and writes on the same file stream shall be separated by a positioning operation # 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="Output After Input Without Positioning" language=c++ # MisraC++2008:0-2-1: An object shall not be assigned to an overlapping object. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:8.18.1: An object or sub-object must not be copied to an overlapping object # 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="Overlapping Memory Regions" language=c++ # MisraC++2023:6.4.2: Derived classes shall not conceal functions that are inherited from their bases WARNING_FILTER += allow class="Override of Non-Virtual Method" language=c++ # MisraC++2023:13.3.1: User-declared member functions shall use the virtual, override and final specifiers appropriately # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Override of final Function" language=c++ # MisraC++2023:11.6.1: All variables should be initialized WARNING_FILTER += allow class="Partially Uninitialized Aggregate" language=c++ # MisraC++2023:11.6.1: All variables should be initialized WARNING_FILTER += allow class="Partially Uninitialized Array" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Plaintext Storage of Password" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Plaintext Transmission of Password" language=c++ # MisraC++2008:7-1-2: A pointer or reference parameter in a function shall be declared as pointer to const or reference to const if the corresponding object is not modified. # MisraC++2023:10.1.1: The target type of a pointer or lvalue reference parameter should be const-qualified appropriately WARNING_FILTER += allow class="Pointed-to Type Could Be const" language=c++ # MisraC++2008:5-0-15: Array indexing shall be the only form of pointer arithmetic. # MisraC++2008:5-0-16: A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array. # MisraC++2023:8.7.1: Pointer arithmetic shall not form an invalid pointer WARNING_FILTER += allow class="Pointer Arithmetic" language=c++ # MisraC++2008:5-0-16: A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:4.1.3: There shall be no occurrence of undefined or critical unspecified behaviour # MisraC++2023:8.7.1: Pointer arithmetic shall not form an invalid pointer WARNING_FILTER += allow class="Pointer Before Beginning of Object" language=c++ # MisraC++2008:5-2-9: A cast should not convert a pointer type to an integral type. # MisraC++2023:8.2.7: A cast should not convert a pointer type to an integral type # MisraC++2023:8.2.8: A pointer shall not be cast to an integral type other than std::uintptr_t or std::intptr_t # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Pointer Conversion Loses Bits" language=c++ # MisraC++2008:5-2-9: A cast should not convert a pointer type to an integral type. # MisraC++2023:8.2.7: A cast should not convert a pointer type to an integral type # MisraC++2023:8.2.8: A pointer shall not be cast to an integral type other than std::uintptr_t or std::intptr_t WARNING_FILTER += allow class="Pointer Conversion to Same Size Integer" language=c++ # MisraC++2008:5-0-16: A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:4.1.3: There shall be no occurrence of undefined or critical unspecified behaviour # MisraC++2023:8.7.1: Pointer arithmetic shall not form an invalid pointer WARNING_FILTER += allow class="Pointer Past End of Object" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Pool Mismatch" language=c++ # MisraC++2008:18-0-4: The time handling functions of library shall not be used. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Potential Timebomb" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Predictable Seed in PRNG" language=c++ # MisraC++2008:16-0-5: Arguments to a function-like macro shall not contain tokens that look like preprocessing directives. # MisraC++2023:19.3.5: Tokens that look like a preprocessing directive shall not occur within a macro argument WARNING_FILTER += allow class="Preprocessing Directives in Macro Argument" language=c++ # MisraC++2023:13.3.1: User-declared member functions shall use the virtual, override and final specifiers appropriately # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Pure final virtual" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Raises FE_INVALID" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Read Past Null Terminator" language=c++ # MisraC++2008:7-5-4: Functions should not call themselves, either directly or indirectly. # MisraC++2023:8.2.10: Functions shall not call themselves, either directly or indirectly WARNING_FILTER += allow class="Recursion" language=c++ # MisraC++2023:0.0.1: A function shall not contain unreachable statements # MisraC++2023:0.0.2: Controlling expressions should not be invariant # MisraC++2023:15.8.1: User-provided copy assignment and move assignment operators shall handle self-assignment # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Redundant Condition" language=c++ # MisraC++2023:4.1.2: Deprecated features should not be used WARNING_FILTER += allow class="Register Keyword" language=c++ # MisraC++2008:7-5-1: A function shall not return a reference or a pointer to an automatic variable (including parameters), defined within the function. # MisraC++2023:6.8.2: A function must not return a reference or a pointer to a local variable with automatic storage duration # 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="Return Pointer to Local" language=c++ # MisraC++2023:9.6.4: A function declared with the [[noreturn]] attribute shall not return # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Return from noreturn" language=c++ # MisraC++2008:5-0-10: If the bitwise operators ~ and << are applied to an operand with an underlying type of unsigned char or unsigned short, the result shall be immediately cast to the underlying type of the operand. # MisraC++2023:7.0.4: The operands of bitwise operators and shift operators shall be appropriate WARNING_FILTER += allow class="Risky Integer Promotion" language=c++ # MisraC++2023:9.5.2: A for-range-initializer shall contain at most one function call WARNING_FILTER += allow class="Risky Range-based for-loop Initializer" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="SQL Injection" language=c++ # MisraC++2008:3-4-1: An identifier declared to be an object or type shall be defined in a block that minimizes its visibility. WARNING_FILTER += allow class="Scope Could Be Local Static" language=c++ # MisraC++2008:5-8-1: The right hand operand of a shift operator shall lie between zero and one less than the width in bits of the underlying type of the left hand operand. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:4.1.3: There shall be no occurrence of undefined or critical unspecified behaviour # MisraC++2023:7.0.4: The operands of bitwise operators and shift operators shall be appropriate # 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="Shift Amount Exceeds Bit Width" language=c++ # MisraC++2008:5-2-10: The increment ( ++ ) and decrement ( -- ) operators should not be mixed with other operators in an expression. WARNING_FILTER += allow class="Side Effects in Expression with Decrement" language=c++ # MisraC++2008:5-2-10: The increment ( ++ ) and decrement ( -- ) operators should not be mixed with other operators in an expression. WARNING_FILTER += allow class="Side Effects in Expression with Increment" language=c++ # MisraC++2008:5-14-1: The right hand operand of a logical && or || operator shall not contain side effects. # MisraC++2023:8.14.1: The right hand operand of a logical && or || operator shall not contain persistent side effects WARNING_FILTER += allow class="Side Effects in Logical Operand" language=c++ # MisraC++2008:5-3-4: Evaluation of the operand to the sizeof operator shall not contain side effects. WARNING_FILTER += allow class="Side Effects in sizeof" language=c++ # MisraC++2008:9-6-4: Named bit-fields with signed integer type shall have a length of more than one bit. # MisraC++2023:12.2.1: Bit fields should not be declared # MisraC++2023:12.2.3: A named bit-field with signed integer type shall not have a length of one bit # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Signed One Bit Field" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Socket In Wrong State" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:8.20.1: An unsigned arithmetic operation with constant operands should not wrap WARNING_FILTER += allow class="Subtraction Underflow of Allocation Size" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:8.20.1: An unsigned arithmetic operation with constant operands should not wrap WARNING_FILTER += allow class="Subtraction Underflow of Size" language=c++ # MisraC++2008:5-0-15: Array indexing shall be the only form of pointer arithmetic. # MisraC++2008:5-0-17: Subtraction between pointers shall only be applied to pointers that address elements of the same array. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:8.7.2: Subtraction between pointers shall only be applied to pointers that address elements of the same array # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Subtraction of Unrelated Pointers" language=c++ # MisraC++2023:16.6.1: Symmetrical operators should only be implemented as non-member functions WARNING_FILTER += allow class="Symmetrical Operator Member Function" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Tainted Allocation Size" language=c++ # MisraC++2008:5-0-16: A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Tainted Buffer Access" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Tainted Configuration Setting" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Tainted Environment Variable" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Tainted Filename" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Tainted Network Address" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Tainted Write" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Thread is not Joinable" language=c++ # MisraC++2008:6-4-8: Every switch statement shall have at least one case-clause. WARNING_FILTER += allow class="Too Few Cases in switch" language=c++ # MisraC++2008:5-0-19: The declaration of objects shall contain no more than two levels of pointer indirection. # MisraC++2023:11.3.2: The declaration of objects should contain no more than two levels of pointer indirection WARNING_FILTER += allow class="Too Much Indirection in Declaration" language=c++ # MisraC++2008:2-3-1: Trigraphs shall not be used. # MisraC++2023:5.0.1: Trigraph-like sequences should not be used WARNING_FILTER += allow class="Trigraph" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Truncation of Allocation Size" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Truncation of Size" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Try-lock that will never succeed" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Type Mismatch" language=c++ # MisraC++2008:5-0-16: A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Type Overrun" language=c++ # MisraC++2008:5-0-16: A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Type Underrun" language=c++ # MisraC++2008:2-10-1: Different identifiers shall be typographically unambiguous. # "Typographically Ambiguous Identifiers" is not enabled by this preset. # - It is not compatible with INCREMENTAL_BUILD=Yes. # MisraC++2008:16-0-7: Undefined macro identifiers shall not be used in #if or #elif preprocessor directives, except as operands to the defined operator. # MisraC++2023:19.1.3: All identifiers used in the controlling expression of #if or #elif preprocessing directives shall be #define'd at the point of evaluation # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Undefined Macro in #if" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Undefined Power of Zero" language=c++ # MisraC++2008:8-5-1: All variables shall have a defined value before they are used. # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:11.6.2: The value of an object shall not be read before it has been set # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Uninitialized Variable" language=c++ # MisraC++2008:9-5-1: Unions shall not be used. # MisraC++2023:12.3.1: The union keyword shall not be used WARNING_FILTER += allow class="Union Type" language=c++ # MisraC++2008:2-13-1: Only those escape sequences that are defined in ISO/IEC 14882:2003 shall be used. # MisraC++2023:5.13.1: Within character literals and non raw-string literals, \ shall only be used to form a defined escape sequence or universal character name # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Universal Character Name Names Invalid Code Point" language=c++ # MisraC++2023:13.3.1: User-declared member functions shall use the virtual, override and final specifiers appropriately WARNING_FILTER += allow class="Unnecessary override Specifier" language=c++ # MisraC++2023:13.3.1: User-declared member functions shall use the virtual, override and final specifiers appropriately WARNING_FILTER += allow class="Unnecessary virtual Specifier" language=c++ # MisraC++2008:0-1-1: A project shall not contain unreachable code. # MisraC++2008:0-1-2: A project shall not contain infeasible paths. # MisraC++2023:0.0.1: A function shall not contain unreachable statements # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Unreachable Call" language=c++ # MisraC++2008:0-1-1: A project shall not contain unreachable code. # MisraC++2008:0-1-2: A project shall not contain infeasible paths. # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Unreachable Computation" language=c++ # MisraC++2008:0-1-1: A project shall not contain unreachable code. # MisraC++2008:0-1-2: A project shall not contain infeasible paths. # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Unreachable Conditional" language=c++ # MisraC++2008:0-1-1: A project shall not contain unreachable code. # MisraC++2008:0-1-2: A project shall not contain infeasible paths. WARNING_FILTER += allow class="Unreachable Control Flow" language=c++ # MisraC++2008:0-1-1: A project shall not contain unreachable code. # MisraC++2008:0-1-2: A project shall not contain infeasible paths. # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Unreachable Data Flow" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Unreasonable Size Argument" language=c++ # MisraC++2008:2-13-1: Only those escape sequences that are defined in ISO/IEC 14882:2003 shall be used. # MisraC++2023:5.13.1: Within character literals and non raw-string literals, \ shall only be used to form a defined escape sequence or universal character name # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Unrecognized Character Escape" language=c++ # MisraC++2023:10.2.2: Unscoped enumerations should not be declared WARNING_FILTER += allow class="Unscoped Enumeration" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:4.1.3: There shall be no occurrence of undefined or critical unspecified behaviour # 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="Unterminated C String" language=c++ # MisraC++2023:5.13.2: Octal and hexadecimal escape sequences shall be terminated WARNING_FILTER += allow class="Unterminated Escape Sequence" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Untrusted Library Load" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Untrusted Network Host" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Untrusted Network Port" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Untrusted Process Creation" language=c++ # MisraC++2008:0-1-11: There shall be no unused parameters (named or unnamed) in non-virtual functions. # MisraC++2008:0-1-12: There shall be no unused parameters (named or unnamed) in the set of parameters for a virtual function and all the functions that override it. # MisraC++2008:0-1-2: A project shall not contain infeasible paths. # MisraC++2023:0.2.2: Any named function parameter shall be used at least once WARNING_FILTER += allow class="Unused Parameter" language=c++ # MisraC++2008:0-1-5: A project shall not contain unused type declarations. # MisraC++2023:0.2.3: Types with limited visibility should be used at least once WARNING_FILTER += allow class="Unused Type" language=c++ # MisraC++2008:0-1-6: A project shall not contain instances of non-volatile variables being given values that are never subsequently used. # MisraC++2008:0-1-9: There shall be no dead code. # MisraC++2023:0.1.1: A value should not be unnecessarily written to a local object # 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="Unused Value" language=c++ # MisraC++2008:0-1-3: A project shall not contain unused variables. # MisraC++2023:0.2.1: Variables with limited visibility should be used at least once WARNING_FILTER += allow class="Unused Variable" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:15.8.1: User-provided copy assignment and move assignment operators shall handle self-assignment # MisraC++2023:6.8.1: An object shall not be accessed outside of its lifetime # 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="Use After Close" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # MisraC++2023:15.8.1: User-provided copy assignment and move assignment operators shall handle self-assignment # MisraC++2023:6.8.1: An object shall not be accessed outside of its lifetime # 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="Use After Free" language=c++ # MisraC++2008:16-6-1: All uses of the #pragma directive shall be documented. # MisraC++2023:19.6.1: The #pragma directive and the _Pragma operator should not be used WARNING_FILTER += allow class="Use of #pragma" language=c++ # MisraC++2008:16-0-3: #undef shall not be used. # MisraC++2023:19.0.4: #undef should only be used for macros defined previously in the same file WARNING_FILTER += allow class="Use of #undef" language=c++ # MisraC++2023:24.5.1: The character handling functions from and shall not be used WARNING_FILTER += allow class="Use of Function" language=c++ # MisraC++2023:24.5.1: The character handling functions from and shall not be used WARNING_FILTER += allow class="Use of Function" language=c++ # MisraC++2023:4.1.2: Deprecated features should not be used WARNING_FILTER += allow class="Use of Exception Handling Function" language=c++ # MisraC++2008:18-0-1: The C library shall not be used. # MisraC++2023:4.1.2: Deprecated features should not be used WARNING_FILTER += allow class="Use of " language=c++ # MisraC++2008:18-0-1: The C library shall not be used. # MisraC++2023:4.1.2: Deprecated features should not be used WARNING_FILTER += allow class="Use of " language=c++ # MisraC++2023:21.10.1: The features of shall not be used # MisraC++2023:4.1.2: Deprecated features should not be used WARNING_FILTER += allow class="Use of Feature" language=c++ # MisraC++2008:27-0-1: The stream input/output library shall not be used. # MisraC++2023:30.0.1: The C Library input/output functions shall not be used # MisraC++2023:4.1.2: Deprecated features should not be used WARNING_FILTER += allow class="Use of Input/Output" language=c++ # MisraC++2008:27-0-1: The stream input/output library shall not be used. # MisraC++2023:4.1.2: Deprecated features should not be used WARNING_FILTER += allow class="Use of Input/Output Macro" language=c++ # MisraC++2008:18-4-1: Dynamic heap memory allocation shall not be used. # MisraC++2023:21.6.1: Dynamic memory shall not be used # MisraC++2023:21.6.2: Dynamic memory shall be managed automatically WARNING_FILTER += allow class="Use of Allocator/Deallocator" language=c++ # MisraC++2008:18-4-1: Dynamic heap memory allocation shall not be used. # MisraC++2023:21.6.1: Dynamic memory shall not be used # MisraC++2023:21.6.2: Dynamic memory shall be managed automatically WARNING_FILTER += allow class="Use of Allocator/Deallocator Macro" language=c++ # MisraC++2008:18-0-1: The C library shall not be used. WARNING_FILTER += allow class="Use of " language=c++ # MisraC++2008:18-0-4: The time handling functions of library shall not be used. WARNING_FILTER += allow class="Use of Time/Date Function" language=c++ # MisraC++2008:27-0-1: The stream input/output library shall not be used. # MisraC++2023:30.0.1: The C Library input/output functions shall not be used WARNING_FILTER += allow class="Use of Input/Output" language=c++ # MisraC++2008:27-0-1: The stream input/output library shall not be used. # MisraC++2023:30.0.1: The C Library input/output functions shall not be used WARNING_FILTER += allow class="Use of Input/Output Macro" language=c++ # MisraC++2023:11.3.1: Variables of array type should not be declared WARNING_FILTER += allow class="Use of Array Type" language=c++ # MisraC++2023:8.3.2: The built-in unary + operator should not be used WARNING_FILTER += allow class="Use of Built-in Unary + Operator" language=c++ # MisraC++2008:5-18-1: The comma operator shall not be used. # MisraC++2023:8.19.1: The comma operator should not be used WARNING_FILTER += allow class="Use of Comma Operator" language=c++ # MisraC++2008:15-1-2: NULL shall not be thrown explicitly. # MisraC++2008:4-10-1: NULL shall not be used as an integer value. # MisraC++2023:7.11.1: nullptr shall be the only form of the null-pointer-constant WARNING_FILTER += allow class="Use of NULL" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # 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="Use of SO_REUSEADDR" language=c++ # MisraC++2008:18-0-3: The library functions abort, exit, getenv and system from library shall not be used. # MisraC++2023:18.5.2: Program-terminating functions should not be used WARNING_FILTER += allow class="Use of abort" language=c++ # MisraC++2008:18-0-2: The library functions atof, atoi and atol from library shall not be used. # MisraC++2023:21.2.1: The library functions atof, atoi, atol and atoll from shall not be used WARNING_FILTER += allow class="Use of atof" language=c++ # MisraC++2008:18-0-2: The library functions atof, atoi and atol from library shall not be used. # MisraC++2023:21.2.1: The library functions atof, atoi, atol and atoll from shall not be used WARNING_FILTER += allow class="Use of atoi" language=c++ # MisraC++2008:18-0-2: The library functions atof, atoi and atol from library shall not be used. # MisraC++2023:21.2.1: The library functions atof, atoi, atol and atoll from shall not be used WARNING_FILTER += allow class="Use of atol" language=c++ # MisraC++2008:18-0-2: The library functions atof, atoi and atol from library shall not be used. # MisraC++2023:21.2.1: The library functions atof, atoi, atol and atoll from shall not be used WARNING_FILTER += allow class="Use of atoll" language=c++ # MisraC++2023:18.3.3: Handlers for a function-try-block of a constructor or destructor shall not refer to non-static members from their class or its bases WARNING_FILTER += allow class="Use of catch" language=c++ # MisraC++2008:18-4-1: Dynamic heap memory allocation shall not be used. WARNING_FILTER += allow class="Use of delete" language=c++ # MisraC++2008:18-0-3: The library functions abort, exit, getenv and system from library shall not be used. # MisraC++2023:18.5.2: Program-terminating functions should not be used WARNING_FILTER += allow class="Use of exit" language=c++ # MisraC++2008:18-0-3: The library functions abort, exit, getenv and system from library shall not be used. WARNING_FILTER += allow class="Use of getenv" language=c++ # MisraC++2023:30.0.1: The C Library input/output functions shall not be used # 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="Use of gets" language=c++ # MisraC++2008:17-0-5: The setjmp macro and the longjmp function shall not be used. # MisraC++2023:21.10.2: The standard header file shall not be used WARNING_FILTER += allow class="Use of longjmp" language=c++ # MisraC++2023:24.5.2: The C++ Standard Library functions memcpy, memmove and memcmp from shall not be used WARNING_FILTER += allow class="Use of memcmp" language=c++ # MisraC++2008:18-4-1: Dynamic heap memory allocation shall not be used. WARNING_FILTER += allow class="Use of new" language=c++ # MisraC++2008:18-2-1: The macro offsetof shall not be used. # MisraC++2023:21.2.4: The macro offsetof shall not be used WARNING_FILTER += allow class="Use of offsetof" language=c++ # MisraC++2008:7-5-2: The address of an object with automatic storage shall not be assigned to another object that may persist after the first object has ceased to exist. # MisraC++2023:6.8.3: An assignment operator shall not assign the address of an object with automatic storage duration to an object with a greater lifetime WARNING_FILTER += allow class="Use of putenv" language=c++ # MisraC++2008:18-4-1: Dynamic heap memory allocation shall not be used. WARNING_FILTER += allow class="Use of realloc" language=c++ # MisraC++2008:17-0-5: The setjmp macro and the longjmp function shall not be used. # MisraC++2023:21.10.2: The standard header file shall not be used WARNING_FILTER += allow class="Use of setjmp" language=c++ # MisraC++2023:25.5.1: The setlocale and std::locale::global functions shall not be called WARNING_FILTER += allow class="Use of setlocale" language=c++ # MisraC++2008:18-7-1: The signal handling facilities of shall not be used. # MisraC++2023:21.10.3: The facilities provided by the standard header file shall not be used WARNING_FILTER += allow class="Use of signal" language=c++ # MisraC++2023:25.5.1: The setlocale and std::locale::global functions shall not be called WARNING_FILTER += allow class="Use of std::locale::global" language=c++ # MisraC++2023:26.3.1: std::vector should not be specialized with bool WARNING_FILTER += allow class="Use of std::vector" language=c++ # MisraC++2008:18-0-5: The unbounded functions of library shall not be used. # MisraC++2023:21.2.2: The string handling functions from , , and shall not be used WARNING_FILTER += allow class="Use of strcat" language=c++ # MisraC++2008:18-0-5: The unbounded functions of library shall not be used. # MisraC++2023:21.2.2: The string handling functions from , , and shall not be used WARNING_FILTER += allow class="Use of strchr" language=c++ # MisraC++2008:18-0-5: The unbounded functions of library shall not be used. # MisraC++2023:21.2.2: The string handling functions from , , and shall not be used WARNING_FILTER += allow class="Use of strcmp" language=c++ # MisraC++2008:18-0-5: The unbounded functions of library shall not be used. # MisraC++2023:21.2.2: The string handling functions from , , and shall not be used WARNING_FILTER += allow class="Use of strcoll" language=c++ # MisraC++2008:18-0-5: The unbounded functions of library shall not be used. # MisraC++2023:21.2.2: The string handling functions from , , and shall not be used WARNING_FILTER += allow class="Use of strcpy" language=c++ # MisraC++2008:18-0-5: The unbounded functions of library shall not be used. # MisraC++2023:21.2.2: The string handling functions from , , and shall not be used WARNING_FILTER += allow class="Use of strcspn" language=c++ # MisraC++2008:18-0-5: The unbounded functions of library shall not be used. # MisraC++2023:21.2.2: The string handling functions from , , and shall not be used WARNING_FILTER += allow class="Use of strlen" language=c++ # MisraC++2008:18-0-5: The unbounded functions of library shall not be used. # MisraC++2023:21.2.2: The string handling functions from , , and shall not be used WARNING_FILTER += allow class="Use of strpbrk" language=c++ # MisraC++2008:18-0-5: The unbounded functions of library shall not be used. WARNING_FILTER += allow class="Use of strrchr" language=c++ # MisraC++2008:18-0-5: The unbounded functions of library shall not be used. # MisraC++2023:21.2.2: The string handling functions from , , and shall not be used WARNING_FILTER += allow class="Use of strspn" language=c++ # MisraC++2008:18-0-5: The unbounded functions of library shall not be used. # MisraC++2023:21.2.2: The string handling functions from , , and shall not be used WARNING_FILTER += allow class="Use of strstr" language=c++ # MisraC++2008:18-0-5: The unbounded functions of library shall not be used. # MisraC++2023:21.2.2: The string handling functions from , , and shall not be used WARNING_FILTER += allow class="Use of strtok" language=c++ # MisraC++2008:18-0-3: The library functions abort, exit, getenv and system from library shall not be used. # MisraC++2023:21.2.3: The Standard Library function system of shall not be used WARNING_FILTER += allow class="Use of system" language=c++ # MisraC++2023:18.1.1: An exception object shall not have pointer type # MisraC++2023:18.1.2: An empty throw shall only occur within the compound-statement of a catch handler WARNING_FILTER += allow class="Use of throw" language=c++ # MisraC++2008:0-1-9: There shall be no dead code. # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Useless Assignment" language=c++ # MisraC++2008:7-3-6: using-directives and using-declarations (excluding class scope or function scope using-declarations) shall not be used in header files. WARNING_FILTER += allow class="Using Declaration in Header File" language=c++ # MisraC++2008:7-3-4: using-directives shall not be used. WARNING_FILTER += allow class="Using Directive" language=c++ # MisraC++2008:7-3-4: using-directives shall not be used. # MisraC++2008:7-3-6: using-directives and using-declarations (excluding class scope or function scope using-declarations) shall not be used in header files. WARNING_FILTER += allow class="Using Directive in Header File" language=c++ # MisraC++2008:8-4-4: A function identifier shall either be used to call the function or it shall be preceded by &. # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Varargs Function Cast" language=c++ # MisraC++2008:7-1-1: A variable which is not modified shall be const qualified. WARNING_FILTER += allow class="Variable Could Be const" language=c++ # MisraC++2008:10-1-1: Classes should not be derived from virtual bases. # MisraC++2023:13.1.1: Classes should not be inherited virtually WARNING_FILTER += allow class="Virtual Base Class" language=c++ # MisraC++2008:10-1-1: Classes should not be derived from virtual bases. # MisraC++2008:10-1-2: A base class shall only be declared virtual if it is used in a diamond hierarchy. # MisraC++2023:13.1.1: Classes should not be inherited virtually WARNING_FILTER += allow class="Virtual Base Class not In Diamond" language=c++ # MisraC++2008:12-1-1: An object's dynamic type shall not be used from the body of its constructor or destructor. # MisraC++2023:15.1.1: An object's dynamic type shall not be used from within its constructor or destructor # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Virtual Call in Constructor" language=c++ # MisraC++2008:12-1-1: An object's dynamic type shall not be used from the body of its constructor or destructor. # MisraC++2023:15.1.1: An object's dynamic type shall not be used from within its constructor or destructor # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Virtual Call in Destructor" language=c++ # MisraC++2023:13.3.1: User-declared member functions shall use the virtual, override and final specifiers appropriately WARNING_FILTER += allow class="Virtual Function Missing virtual/override/final" language=c++ # MisraC++2008:10-1-1: Classes should not be derived from virtual bases. # MisraC++2008:10-1-3: An accessible base class shall not be both virtual and non-virtual in the same hierarchy. # MisraC++2023:13.1.1: Classes should not be inherited virtually # MisraC++2023:13.1.2: An accessible base class shall not be both virtual and non-virtual in the same hierarchy WARNING_FILTER += allow class="Virtual and Non-Virtual Base Class" language=c++ # MisraC++2023:4.1.1: A program shall conform to ISO/IEC 14882:2017 (C++17) WARNING_FILTER += allow class="Warnings Not Treated As Errors" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions WARNING_FILTER += allow class="Write to Read Only File" language=c++ # MisraC++2008:9-6-4: Named bit-fields with signed integer type shall have a length of more than one bit. # MisraC++2023:12.2.1: Bit fields should not be declared # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="Zero Length Bit Field Must Be Unnamed" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="cosh on High Number" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="cosh on Low Number" language=c++ # MisraC++2023:21.6.5: A pointer to an incomplete class type shall not be deleted # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="delete of Incomplete Class" language=c++ # MisraC++2023:10.2.1: An enumeration shall be defined with an explicit underlying type # MisraC++2023:10.2.2: Unscoped enumerations should not be declared # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="enum Value Out of Integer Range" language=c++ # MisraC++2023:10.2.1: An enumeration shall be defined with an explicit underlying type # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="enum Value Out of Underlying Range" language=c++ # MisraC++2023:13.3.1: User-declared member functions shall use the virtual, override and final specifiers appropriately # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="final Modifier Requires Virtual Function" language=c++ # MisraC++2023:13.3.1: User-declared member functions shall use the virtual, override and final specifiers appropriately # This check is enabled by default for the language(s) C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="override Member Does Not override" language=c++ # MisraC++2023:0.3.2: A function call shall not violate the function's preconditions # This check is enabled by default for the language(s) C, C++ # It may remain in effect even if the following line is commented out. WARNING_FILTER += allow class="sqrt on Negative Value" language=c++ # MisraC++2023:28.6.1: The argument to std::move shall be a non-const lvalue WARNING_FILTER += allow class="std::move Argument is Not Lvalue" language=c++ # MisraC++2023:28.6.1: The argument to std::move shall be a non-const lvalue WARNING_FILTER += allow class="std::move Argument is const" language=c++ # MisraC++2023:8.2.9: The operand to typeid shall not be an expression of polymorphic class type WARNING_FILTER += allow class="typeid of Polymorphic Class Type" language=c++ # # The remainder of this file was generated from template 'codesonar/presets/misrac++_inc.conf.in' # # Custom settings for MISRAC++2023 Rule 5.10.1 # Violations will produce "Naming Style Violation" warnings. # # The restrictions for literal suffixes are enforced elsewhere. See # the warning class "Literal Suffix No Underscore". # # The remaining restrictions apply to all identifiers except macro identifiers: # - Start with an upper- or lower-case letter. # - Consist of upper- and lower-case letters, digits, and underscores. # - Do not contain two consecutive underscores (but may end with underscore). IDENTIFIER_NAMING_ABSTRACT_CLASS_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_ABSTRACT_CLASS_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_CLASS_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_CLASS_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_CLASS_CONSTANT_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_CLASS_CONSTANT_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_CLASS_MEMBER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_CLASS_MEMBER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_CLASS_METHOD_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_CLASS_METHOD_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_CONSTANT_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_CONSTANT_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_CONSTANT_MEMBER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_CONSTANT_MEMBER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_CONSTANT_PARAMETER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_CONSTANT_PARAMETER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_CONSTANT_POINTER_PARAMETER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_CONSTANT_POINTER_PARAMETER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_CONSTEXPR_FUNCTION_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_CONSTEXPR_FUNCTION_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_CONSTEXPR_METHOD_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_CONSTEXPR_METHOD_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_CONSTEXPR_VARIABLE_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_CONSTEXPR_VARIABLE_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_ENUM_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_ENUM_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_ENUM_CONSTANT_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_ENUM_CONSTANT_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_FUNCTION_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_FUNCTION_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_GLOBAL_CONSTANT_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_GLOBAL_CONSTANT_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_GLOBAL_CONSTANT_POINTER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_GLOBAL_CONSTANT_POINTER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_GLOBAL_FUNCTION_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_GLOBAL_FUNCTION_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_GLOBAL_POINTER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_GLOBAL_POINTER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_GLOBAL_VARIABLE_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_GLOBAL_VARIABLE_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_INLINE_NAMESPACE_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_INLINE_NAMESPACE_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_LOCAL_CONSTANT_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_LOCAL_CONSTANT_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_LOCAL_CONSTANT_POINTER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_LOCAL_CONSTANT_POINTER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_LOCAL_POINTER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_LOCAL_POINTER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_LOCAL_VARIABLE_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_LOCAL_VARIABLE_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_MEMBER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_MEMBER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_METHOD_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_METHOD_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_NAMESPACE_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_NAMESPACE_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_PARAMETER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_PARAMETER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_PARAMETER_PACK_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_PARAMETER_PACK_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_POINTER_PARAMETER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_POINTER_PARAMETER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_PRIVATE_MEMBER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_PRIVATE_MEMBER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_PRIVATE_METHOD_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_PRIVATE_METHOD_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_PROTECTED_MEMBER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_PROTECTED_MEMBER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_PROTECTED_METHOD_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_PROTECTED_METHOD_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_PUBLIC_MEMBER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_PUBLIC_MEMBER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_PUBLIC_METHOD_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_PUBLIC_METHOD_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_STATIC_CONSTANT_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_STATIC_CONSTANT_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_STATIC_VARIABLE_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_STATIC_VARIABLE_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_STRUCT_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_STRUCT_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_TEMPLATE_PARAMETER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_TEMPLATE_PARAMETER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_TEMPLATE_TEMPLATE_PARAMETER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_TEMPLATE_TEMPLATE_PARAMETER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_TYPEDEF_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_TYPEDEF_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_TYPE_ALIAS_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_TYPE_ALIAS_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_TYPE_TEMPLATE_PARAMETER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_TYPE_TEMPLATE_PARAMETER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_UNION_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_UNION_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_VALUE_TEMPLATE_PARAMETER_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_VALUE_TEMPLATE_PARAMETER_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_VARIABLE_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_VARIABLE_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t IDENTIFIER_NAMING_VIRTUAL_METHOD_REGEX += ([a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])*(_([0-9a-zA-Z]|[\xc3][\x80-\x96\x98-\xb6\xb8-\xbf])+)*_? IDENTIFIER_NAMING_VIRTUAL_METHOD_REGEX += !defined|final|override|clock_t|div_t|FILE|fpos_t|lconv|ldiv_t|mbstate_t|ptrdiff_t|sig_atomic_t|size_t|time_t|tm|va_list|wctrans_t|wctype_t|wint_t # In addition, a macro identifier may not contain lower-case letters. IDENTIFIER_NAMING_MACRO_DEFINITION_REGEX += ([A-Z]|[\xc3][\x80-\x96\x98-\x9e])([0-9A-Z]|[\xc3][\x80-\x96\x98-\x9e])*(_([0-9A-Z]|[\xc3][\x80-\x96\x98-\x9e])+)*_? WARNING_FILTER += discard class="Basic Numerical Type Used" line_contents=~\<(main|argc|argv)\>