Default Compiler Warnings is a check configuration included with CodeCheck, Understand's static-analysis engine — run it in the GUI, from the command line, or in CI.
Default Compiler Warnings
The diagnostic flags in the compiler enabled by default.
They include warnings and some errors.
Checks
| Check ID | Check Name | Supported | Severity |
|---|---|---|---|
| CPP_WARN_ABSOLUTE_VALUE | Absolute Value Proper Usage | Yes | |
| CPP_WARN_ABSTRACT_FINAL_CLASS | Abstract Classes Should Not Be Final or Sealed | Yes | |
| CPP_WARN_ADDRESS_OF_PACKED_MEMBER | Do Not Take the Address of Packed Members | Yes | |
| CPP_WARN_ADDRESS_OF_TEMPORARY | Do Not Take the Address of Temporary Objects | Yes | High |
| CPP_WARN_AIX_COMPAT | IBM AIX Compatibility with Byte Alignment | Yes | |
| CPP_WARN_ALIGN_MISMATCH | Match Byte Alignment of Arguments | Yes | |
| CPP_WARN_ALLOCA_WITH_ALIGN_ALIGNOF | Correct Usage of Second Argument of Certain Allocation Functions | Yes | |
| CPP_WARN_ALWAYS_INLINE_COROUTINE | Always Inline Coroutine Functions | Yes | |
| CPP_WARN_AMBIGUOUS_DELETE | Ambiguous Delete | Yes | |
| CPP_WARN_AMBIGUOUS_ELLIPSIS | Ambiguous Ellipsis | Yes | |
| CPP_WARN_AMBIGUOUS_MACRO | Ambiguous Macro | Yes | |
| CPP_WARN_AMBIGUOUS_MEMBER_TEMPLATE | Ambiguous Member Template | Yes | |
| CPP_WARN_AMBIGUOUS_REVERSED_OPERATOR | Ambiguous Reversed Operator | Yes | |
| CPP_WARN_ANALYZER_INCOMPATIBLE_PLUGIN | Analyzer Incompatible Plugin | Yes | |
| CPP_WARN_ANONYMOUS_PACK_PARENS | Anonymous Pack Parentheses | Yes | |
| CPP_WARN_ARC_BRIDGE_CASTS_DISALLOWED_IN_NONARC | ARC (Automatic Reference Counting) Bridge Casts Disallowed in Non-ARC | Yes | |
| CPP_WARN_ARC_RETAIN_CYCLES | ARC Retain Cycles | Yes | |
| CPP_WARN_ARC_UNSAFE_RETAINED_ASSIGN | ARC Unsafe Retained Assign | Yes | |
| CPP_WARN_ARGUMENT_OUTSIDE_RANGE | Argument Outside Range | Yes | |
| CPP_WARN_ARGUMENT_UNDEFINED_BEHAVIOUR | Argument Undefined Behaviour | Yes | |
| CPP_WARN_ARRAY_BOUNDS | Array Bounds | Yes | High |
| CPP_WARN_ASM_OPERAND_WIDTHS | Assembly Operand Widths | Yes | |
| CPP_WARN_ASSUME | Discarded Side Effects to __assume Function | Yes | |
| CPP_WARN_ATOMIC_ACCESS | Atomic Access | Yes | |
| CPP_WARN_ATOMIC_ALIGNMENT | Atomic Alignment | Yes | |
| CPP_WARN_ATOMIC_MEMORY_ORDERING | Atomic Memory Ordering | Yes | |
| CPP_WARN_AUTO_DISABLE_VPTR_SANITIZER | Auto Disable Virtual Pointer Sanitizer | Yes | |
| CPP_WARN_AUTO_STORAGE_CLASS | Auto Storage Class | Yes | |
| CPP_WARN_AVAILABILITY | Availability Attribute | Yes | High |
| CPP_WARN_AVR_RTLIB_LINKING_QUIRKS | AVR RTLIB (Real-Time Library) Linking Quirks | Yes | |
| CPP_WARN_BACKEND_PLUGIN | Backend Plugin | Yes | |
| CPP_WARN_BACKSLASH_NEWLINE_ESCAPE | Backslash Newline Escape | Yes | High |
| CPP_WARN_BINDING_IN_CONDITION | Binding in Condition | Yes | |
| CPP_WARN_BITFIELD_CONSTANT_CONVERSION | Bitfield Constant Conversion | Yes | High |
| CPP_WARN_BITFIELD_WIDTH | Do Not Exceed Bit-Field Width | Yes | High |
| CPP_WARN_BITWISE_CONDITIONAL_PARENTHESES | Bitwise Conditional Parentheses | Yes | |
| CPP_WARN_BOOL_CONVERSION | Bool Conversion | Yes | High |
| CPP_WARN_BRACED_SCALAR_INIT | Braced Scalar Init | Yes | |
| CPP_WARN_BRANCH_PROTECTION | Branch Protection | Yes | |
| CPP_WARN_BUILTIN_ASSUME_ALIGNED_ALIGNMENT | Builtin Assume Aligned Alignment | Yes | |
| CPP_WARN_BUILTIN_MACRO_REDEFINED | Builtin Macro Redefined | Yes | High |
| CPP_WARN_BUILTIN_MEMCPY_CHK_SIZE | Builtin Memcpy Check Size | Yes | High |
| CPP_WARN_BUILTIN_REQUIRES_HEADER | Builtin Requires Header | Yes | |
| CPP_WARN_C2X_EXTENSIONS | C2X Extensions | Yes | |
| CPP_WARN_CALL_TO_PURE_VIRTUAL_FROM_CTOR_DTOR | Call to Pure Virtual from Constructor or Destructor | Yes | High |
| CPP_WARN_CAST_CALLING_CONVENTION | Cast Calling Convention | Yes | |
| CPP_WARN_CAST_QUAL_UNRELATED | Cast Qualifiers Unrelated | Yes | High |
| CPP_WARN_CLANG_CL_PCH | Clang-CL Precompiled Headers | Yes | |
| CPP_WARN_CLASS_CONVERSION | Class Conversion | Yes | High |
| CPP_WARN_CMSE_UNION_LEAK | CMSE (Cortex-M Support for Security Extension) Union Leak | Yes | |
| CPP_WARN_COMPARE_DISTINCT_POINTER_TYPES | Compare Distinct Pointer Types | Yes | High |
| CPP_WARN_COMPOUND_TOKEN_SPLIT_BY_MACRO | Compound Token Split by Macro | Yes | High |
| CPP_WARN_CONDITIONAL_TYPE_MISMATCH | Conditional Type Mismatch | Yes | High |
| CPP_WARN_CONSTANT_CONVERSION | Constant Conversion | Yes | High |
| CPP_WARN_CONSTANT_EVALUATED | Constant Evaluated | Yes | |
| CPP_WARN_CONSTANT_LOGICAL_OPERAND | Constant Logical Operand | Yes | High |
| CPP_WARN_CONSTEXPR_NOT_CONST | Constexpr Not Const | Yes | |
| CPP_WARN_COROUTINE | Coroutine Return Type | Yes | |
| CPP_WARN_COROUTINE_MISSING_UNHANDLED_EXCEPTION | Coroutine Missing Unhandled Exception | Yes | |
| CPP_WARN_CPP2B_EXTENSIONS | C++2B Extensions | Yes | |
| CPP_WARN_CPP11_COMPAT_DEPRECATED_WRITABLE_STRINGS | C++11 Compatibility Deprecated Writable Strings | Yes | High |
| CPP_WARN_CPP11_INLINE_NAMESPACE | C++11 Inline Namespace | Yes | |
| CPP_WARN_CPP17_COMPAT_MANGLING | C++17 Compatibility Mangling | Yes | |
| CPP_WARN_CXX_ATTRIBUTE_EXTENSION | C++ Attribute Extension | Yes | |
| CPP_WARN_DANGLING | Dangling Pointers | Yes | High |
| CPP_WARN_DANGLING_ELSE | Dangling Else | Yes | |
| CPP_WARN_DANGLING_FIELD | Dangling Field | Yes | High |
| CPP_WARN_DANGLING_GSL | Dangling Pointers Found by Guidelines Support Library | Yes | High |
| CPP_WARN_DANGLING_INITIALIZER_LIST | Dangling Initializer List | Yes | High |
| CPP_WARN_DARWIN_SDK_SETTINGS | Darwin SDK Settings | Yes | |
| CPP_WARN_DEALLOC_IN_CATEGORY | Dealloc in Category | Yes | |
| CPP_WARN_DEBUG_COMPRESSION_UNAVAILABLE | Debug Compression Unavailable | Yes | |
| CPP_WARN_DEFAULTED_FUNCTION_DELETED | Defaulted Function Deleted | Yes | High |
| CPP_WARN_DELEGATING_CTOR_CYCLES | Delegating Constructor Cycles | Yes | High |
| CPP_WARN_DELETE_ABSTRACT_NON_VIRTUAL_DTOR | Delete Abstract Non-Virtual Destructor | Yes | High |
| CPP_WARN_DELETE_INCOMPLETE | Delete Incomplete | Yes | High |
| CPP_WARN_DEPRECATED_ALTIVEC_SRC_COMPAT | Deprecated AltiVec Instruction Set Source Compatibility | Yes | |
| CPP_WARN_DEPRECATED_ANON_ENUM_ENUM_CONVERSION | Deprecated Anon-Enum, Enum Conversion | Yes | |
| CPP_WARN_DEPRECATED_ARRAY_COMPARE | Deprecated Array Compare | Yes | |
| CPP_WARN_DEPRECATED_ATTRIBUTES | Deprecated Attributes | Yes | |
| CPP_WARN_DEPRECATED_BUILTINS | Deprecated Builtins | Yes | High |
| CPP_WARN_DEPRECATED_COMMA_SUBSCRIPT | Deprecated Comma Subscript | Yes | |
| CPP_WARN_DEPRECATED_COROUTINE | Deprecated Coroutine | Yes | |
| CPP_WARN_DEPRECATED_DECLARATIONS | Deprecated Declarations | Yes | High |
| CPP_WARN_DEPRECATED_EXPERIMENTAL_COROUTINE | Deprecated Experimental Coroutine | Yes | |
| CPP_WARN_DEPRECATED_INCREMENT_BOOL | Deprecated Increment Bool | Yes | High |
| CPP_WARN_DEPRECATED_NON_PROTOTYPE | Deprecated Non-Prototype | Yes | High |
| CPP_WARN_DEPRECATED_REGISTER | Deprecated Register | Yes | High |
| CPP_WARN_DEPRECATED_STATIC_ANALYZER_FLAG | Deprecated Static Analyzer Flag | Yes | |
| CPP_WARN_DEPRECATED_TYPE | Deprecated Type | Yes | |
| CPP_WARN_DEPRECATED_VOLATILE | Deprecated Volatile | Yes | High |
| CPP_WARN_DIVISION_BY_ZERO | Division by Zero | Yes | High |
| CPP_WARN_DLL_ATTRIBUTE_ON_REDECLARATION | DLL Attribute on Re-Declaration | Yes | |
| CPP_WARN_DLLEXPORT_EXPLICIT_INSTANTIATION_DECL | DLLexport Explicit Instantiation Decl | Yes | |
| CPP_WARN_DLLIMPORT_STATIC_FIELD_DEF | DLLimport Static Field Def | Yes | |
| CPP_WARN_DTOR_TYPEDEF | Destructor Typedef | Yes | |
| CPP_WARN_DUPLICATE_PROTOCOL | Duplicate Protocol | Yes | |
| CPP_WARN_DYNAMIC_CLASS_MEMACCESS | Dynamic Class Memory Access | Yes | High |
| CPP_WARN_ELABORATED_ENUM_BASE | Elaborated Enum Base | Yes | |
| CPP_WARN_ELABORATED_ENUM_CLASS | Elaborated Enum Class | Yes | |
| CPP_WARN_EMPTY_BODY | Control Loop Shall Not Have Empty Body | Yes | |
| CPP_WARN_EMPTY_DECOMPOSITION | Decomposition Group Shall Not Be Empty | Yes | |
| CPP_WARN_ENUM_COMPARE | Enum Compare | Yes | High |
| CPP_WARN_ENUM_COMPARE_SWITCH | Enum Compare Switch | Yes | High |
| CPP_WARN_ENUM_TOO_LARGE | Enum Too Large | Yes | |
| CPP_WARN_EXCEPTIONS | Exceptions | Yes | High |
| CPP_WARN_EXCESS_INITIALIZERS | Excess Initializers | Yes | |
| CPP_WARN_EXPORT_UNNAMED | Export Unnamed | Yes | |
| CPP_WARN_EXPORT_USING_DIRECTIVE | Export Using Directive | Yes | |
| CPP_WARN_EXTERN_C_COMPAT | Extern C Compatibility | Yes | High |
| CPP_WARN_EXTERN_INITIALIZER | Extern Initializer | Yes | High |
| CPP_WARN_EXTRA_QUALIFICATION | Extra Qualification | Yes | High |
| CPP_WARN_EXTRA_TOKENS | Extra Tokens | Yes | |
| CPP_WARN_FINAL_DTOR_NON_FINAL_CLASS | Final Destructor Non-Final Class | Yes | |
| CPP_WARN_FINAL_MACRO | Final Macros Should Not Be Redefined | Yes | |
| CPP_WARN_FIXED_POINT_OVERFLOW | Fixed Point Overflow | Yes | High |
| CPP_WARN_FLAG_ENUM | Flag Enum | Yes | High |
| CPP_WARN_FORMAT | Format String | Yes | High |
| CPP_WARN_FORMAT_EXTRA_ARGS | Format Extra Args | Yes | High |
| CPP_WARN_FORMAT_INSUFFICIENT_ARGS | Format Insufficient Args | Yes | High |
| CPP_WARN_FORMAT_INVALID_SPECIFIER | Format Invalid Specifier | Yes | High |
| CPP_WARN_FORMAT_SECURITY | Format Security | Yes | High |
| CPP_WARN_FORMAT_ZERO_LENGTH | Format Zero Length | Yes | High |
| CPP_WARN_FORTIFY_SOURCE | Fortify Source | Yes | High |
| CPP_WARN_FREE_NONHEAP_OBJECT | Free Non-Heap Object | Yes | High |
| CPP_WARN_FUNCTION_MULTIVERSION | Function Multi-Version | Yes | |
| CPP_WARN_GLOBAL_ISEL | GlobalISel (Global Instruction Selection) Framework | Yes | |
| CPP_WARN_GNU_ALIGNOF_EXPRESSION | GNU Alignof Expression | Yes | |
| CPP_WARN_GNU_ARRAY_MEMBER_PAREN_INIT | GNU Array Member Parentheses Init | Yes | |
| CPP_WARN_GNU_INLINE_CPP_WITHOUT_EXTERN | GNU Inline Cpp Without Extern | Yes | |
| CPP_WARN_GNU_STATIC_FLOAT_INIT | GNU Static Float Init | Yes | |
| CPP_WARN_GNU_STRING_LITERAL_OPERATOR_TEMPLATE | GNU String Literal Operator Template | Yes | |
| CPP_WARN_GNU_VARIABLE_SIZED_TYPE_NOT_AT_END | GNU Variable Sized Type Not at End | Yes | |
| CPP_WARN_HEADER_GUARD | Header Guard | Yes | High |
| CPP_WARN_IGNORED_ATTRIBUTES | Ignored Attributes | Yes | High |
| CPP_WARN_IGNORED_AVAILABILITY_WITHOUT_SDK_SETTINGS | Ignored Availability Without Sdk Settings | Yes | |
| CPP_WARN_IGNORED_OPTIMIZATION_ARGUMENT | Ignored Optimization Argument | Yes | |
| CPP_WARN_IGNORED_PRAGMA_INTRINSIC | Ignored Pragma Intrinsic | Yes | |
| CPP_WARN_IGNORED_PRAGMAS | Ignored Pragmas | Yes | |
| CPP_WARN_IGNORED_REFERENCE_QUALIFIERS | Ignored Reference Qualifiers | Yes | High |
| CPP_WARN_IMPLICIT_CONST_INT_FLOAT_CONVERSION | Implicit Const Int Float Conversion | Yes | High |
| CPP_WARN_IMPLICIT_CONVERSION_FLOATING_POINT_TO_BOOL | Implicit Conversion Floating Point to Bool | Yes | High |
| CPP_WARN_IMPLICIT_EXCEPTION_SPEC_MISMATCH | Implicit Exception Spec Mismatch | Yes | High |
| CPP_WARN_IMPLICIT_FIXED_POINT_CONVERSION | Implicit Fixed Point Conversion | Yes | High |
| CPP_WARN_IMPLICITLY_UNSIGNED_LITERAL | Implicitly Unsigned Literal | Yes | High |
| CPP_WARN_INACCESSIBLE_BASE | Inaccessible Base | Yes | High |
| CPP_WARN_INCLUDE_NEXT_ABSOLUTE_PATH | Include Next Absolute Path | Yes | |
| CPP_WARN_INCLUDE_NEXT_OUTSIDE_HEADER | Include Next Outside Header | Yes | |
| CPP_WARN_INCOMPATIBLE_EXCEPTION_SPEC | Incompatible Exception Spec | Yes | High |
| CPP_WARN_INCOMPATIBLE_FUNCTION_POINTER_TYPES | Incompatible Function Pointer Types | Yes | |
| CPP_WARN_INCOMPATIBLE_LIBRARY_REDECLARATION | Incompatible Library Redeclaration | Yes | High |
| CPP_WARN_INCOMPATIBLE_MS_STRUCT | Incompatible Microsoft Struct | Yes | |
| CPP_WARN_INCOMPATIBLE_POINTER_TYPES | Incompatible Pointer Types | Yes | High |
| CPP_WARN_INCOMPATIBLE_POINTER_TYPES_DISCARDS_QUALIFIERS | Incompatible Pointer Types Discards Qualifiers | Yes | High |
| CPP_WARN_INCOMPATIBLE_SYSROOT | Incompatible Sysroot | Yes | |
| CPP_WARN_INCOMPLETE_IMPLEMENTATION | Incomplete Implementation | Yes | |
| CPP_WARN_INCOMPLETE_SETJMP_DECLARATION | Incomplete Setjmp Declaration | Yes | |
| CPP_WARN_INCONSISTENT_DLLIMPORT | Inconsistent DLLimport | Yes | |
| CPP_WARN_INCONSISTENT_MISSING_OVERRIDE | Inconsistent Missing Override | Yes | High |
| CPP_WARN_INCREMENT_BOOL | Increment Bool | Yes | High |
| CPP_WARN_INITIALIZER_OVERRIDES | Initializer Overrides | Yes | |
| CPP_WARN_INJECTED_CLASS_NAME | Injected Class Name | Yes | High |
| CPP_WARN_INLINE_ASM | Inline Assembly | Yes | |
| CPP_WARN_INLINE_NAMESPACE_REOPENED_NONINLINE | Inline Namespace Reopened Non-Inline | Yes | High |
| CPP_WARN_INLINE_NEW_DELETE | Inline New Delete | Yes | |
| CPP_WARN_INSTANTIATION_AFTER_SPECIALIZATION | Instantiation After Specialization | Yes | High |
| CPP_WARN_INT_CONVERSION | Int Conversion | Yes | |
| CPP_WARN_INT_TO_POINTER_CAST | Int to Pointer Cast | Yes | High |
| CPP_WARN_INT_TO_VOID_POINTER_CAST | Int to Void Pointer Cast | Yes | High |
| CPP_WARN_INTEGER_OVERFLOW | Integer Overflow | Yes | High |
| CPP_WARN_INTERRUPT_SERVICE_ROUTINE | Interrupt Service Routine | Yes | |
| CPP_WARN_INVALID_COMMAND_LINE_ARGUMENT | Invalid Command Line Argument | Yes | |
| CPP_WARN_INVALID_CONSTEXPR | Invalid Constexpr | Yes | |
| CPP_WARN_INVALID_IBOUTLET | Invalid IBOutletCollection (Interface Builder Outlet Collection) | Yes | |
| CPP_WARN_INVALID_INITIALIZER_FROM_SYSTEM_HEADER | Invalid Initializer from System Header | Yes | |
| CPP_WARN_INVALID_IOS_DEPLOYMENT_TARGET | Invalid iOS Deployment Target | Yes | |
| CPP_WARN_INVALID_NO_BUILTIN_NAMES | Invalid No Builtin Names | Yes | High |
| CPP_WARN_INVALID_NORETURN | Invalid Noreturn Attribute | Yes | High |
| CPP_WARN_INVALID_OFFSETOF | Invalid Offsetof | Yes | High |
| CPP_WARN_INVALID_PARTIAL_SPECIALIZATION | Invalid Partial Specialization | Yes | |
| CPP_WARN_INVALID_PP_TOKEN | Invalid Preprocessor Token | Yes | High |
| CPP_WARN_INVALID_SOURCE_ENCODING | Invalid Source Encoding | Yes | |
| CPP_WARN_INVALID_TOKEN_PASTE | Invalid Token Paste | Yes | |
| CPP_WARN_JUMP_SEH_FINALLY | Jump SEH (Structured Exception Handling) Finally | Yes | |
| CPP_WARN_KEYWORD_COMPAT | Keyword Compatibility | Yes | |
| CPP_WARN_KNR_PROMOTED_PARAMETER | K&R Promoted Parameter | Yes | |
| CPP_WARN_LARGE_BY_VALUE_COPY | Large by Value Copy | Yes | High |
| CPP_WARN_LINKER_WARNINGS | Linker Warnings | Yes | |
| CPP_WARN_LITERAL_CONVERSION | Literal Conversion | Yes | High |
| CPP_WARN_LITERAL_RANGE | Literal Range | Yes | High |
| CPP_WARN_LOGICAL_NOT_PARENTHESES | Logical Not Parentheses | Yes | High |
| CPP_WARN_MACRO_REDEFINED | Macro Redefined | Yes | High |
| CPP_WARN_MAIN_RETURN_TYPE | Main Return Type | Yes | High |
| CPP_WARN_MALFORMED_WARNING_CHECK | Malformed Warning Check | Yes | |
| CPP_WARN_MANY_BRACES_AROUND_SCALAR_INIT | Many Braces Around Scalar Init | Yes | High |
| CPP_WARN_MAX_UNSIGNED_ZERO | Max Unsigned Zero | Yes | High |
| CPP_WARN_MEMSET_TRANSPOSED_ARGS | Memset Transposed Args | Yes | High |
| CPP_WARN_MEMSIZE_COMPARISON | Memsize Comparison | Yes | High |
| CPP_WARN_MICROSOFT_ABSTRACT | Microsoft Abstract | Yes | |
| CPP_WARN_MICROSOFT_CAST | Microsoft Cast | Yes | |
| CPP_WARN_MICROSOFT_CONST_INIT | Microsoft Const Init | Yes | |
| CPP_WARN_MICROSOFT_DEFAULT_ARG_REDEFINITION | Microsoft Default Arg Redefinition | Yes | |
| CPP_WARN_MICROSOFT_DRECTVE_SECTION | Microsoft Drectve Section | Yes | |
| CPP_WARN_MICROSOFT_ENUM_FORWARD_REFERENCE | Microsoft Enum Forward Reference | Yes | |
| CPP_WARN_MICROSOFT_EXISTS | Microsoft Exists | Yes | |
| CPP_WARN_MICROSOFT_EXPLICIT_CONSTRUCTOR_CALL | Microsoft Explicit Constructor Call | Yes | |
| CPP_WARN_MICROSOFT_EXTRA_QUALIFICATION | Microsoft Extra Qualification | Yes | |
| CPP_WARN_MICROSOFT_GOTO | Microsoft Goto | Yes | |
| CPP_WARN_MICROSOFT_INACCESSIBLE_BASE | Microsoft Inaccessible Base | Yes | |
| CPP_WARN_MICROSOFT_INCLUDE | Microsoft Include | Yes | |
| CPP_WARN_MICROSOFT_MUTABLE_REFERENCE | Microsoft Mutable Reference | Yes | |
| CPP_WARN_MICROSOFT_PURE_DEFINITION | Microsoft Pure Definition | Yes | |
| CPP_WARN_MICROSOFT_SEALED | Microsoft Sealed | Yes | |
| CPP_WARN_MICROSOFT_STATIC_ASSERT | Microsoft Static Assert | Yes | |
| CPP_WARN_MICROSOFT_TEMPLATE | Microsoft Template | Yes | |
| CPP_WARN_MICROSOFT_TEMPLATE_SHADOW | Microsoft Template Shadow | Yes | |
| CPP_WARN_MICROSOFT_UNION_MEMBER_REFERENCE | Microsoft Union Member Reference | Yes | |
| CPP_WARN_MICROSOFT_UNQUALIFIED_FRIEND | Microsoft Unqualified Friend | Yes | |
| CPP_WARN_MICROSOFT_USING_DECL | Microsoft Using Decl | Yes | |
| CPP_WARN_MICROSOFT_VOID_PSEUDO_DTOR | Microsoft Void Pseudo Destructor | Yes | |
| CPP_WARN_MISEXPECT | Misuse of __builtin_expect() | Yes | |
| CPP_WARN_MISMATCHED_NEW_DELETE | Mismatched New Delete | Yes | High |
| CPP_WARN_MISSING_CONSTINIT | Missing Constinit | Yes | |
| CPP_WARN_MISSING_DECLARATIONS | Missing Declarations | Yes | High |
| CPP_WARN_MISSING_EXCEPTION_SPEC | Missing Exception Spec | Yes | High |
| CPP_WARN_MISSING_PROTOTYPE_FOR_CC | Missing Prototype for Calling Convention | Yes | |
| CPP_WARN_MISSING_SELECTOR_NAME | Missing Selector Name | Yes | |
| CPP_WARN_MISSING_SYSROOT | Missing Sysroot | Yes | |
| CPP_WARN_MISSPELLED_ASSUMPTION | Misspelled Assumption | Yes | |
| CPP_WARN_MODULE_CONFLICT | Module Conflict | Yes | |
| CPP_WARN_MODULE_FILE_CONFIG_MISMATCH | Module File Config Mismatch | Yes | |
| CPP_WARN_MODULE_FILE_EXTENSION | Module File Extension | Yes | |
| CPP_WARN_MODULE_IMPORT_IN_EXTERN_C | Module Import in Extern C | Yes | |
| CPP_WARN_MODULES_AMBIGUOUS_INTERNAL_LINKAGE | Modules Ambiguous Internal Linkage | Yes | |
| CPP_WARN_MODULES_IMPORT_NESTED_REDUNDANT | Modules Import Nested Redundant | Yes | |
| CPP_WARN_MSVC_NOT_FOUND | MSVC Not Found | Yes | |
| CPP_WARN_MULTICHAR | Multiple Characters in Character Literal | Yes | High |
| CPP_WARN_MULTIPLE_MOVE_VBASE | Multiple Move Virtual Base | Yes | High |
| CPP_WARN_NEW_RETURNS_NULL | New Returns Null | Yes | High |
| CPP_WARN_NODEREF | Noderef Attirbute | Yes | High |
| CPP_WARN_NON_C_TYPEDEF_FOR_LINKAGE | Non-C Typedef for Linkage | Yes | High |
| CPP_WARN_NON_LITERAL_NULL_CONVERSION | Non-Literal Null Conversion | Yes | High |
| CPP_WARN_NON_POD_VARARGS | Non-POD (Plain Old Data) Variadic Arguments | Yes | High |
| CPP_WARN_NON_POWER_OF_TWO_ALIGNMENT | Non-Power of Two Alignment | Yes | High |
| CPP_WARN_NONNULL | Null as an Argument | Yes | High |
| CPP_WARN_NONPORTABLE_INCLUDE_PATH | Non-Portable Include Path | Yes | High |
| CPP_WARN_NONPORTABLE_VECTOR_INITIALIZATION | Non-Portable Vector Initialization | Yes | |
| CPP_WARN_NONTRIVIAL_MEMACCESS | Nontrivial Memory Access | Yes | High |
| CPP_WARN_NULL_ARITHMETIC | Null Arithmetic | Yes | High |
| CPP_WARN_NULL_CHARACTER | Null Character | Yes | High |
| CPP_WARN_NULL_CONVERSION | Null Conversion | Yes | High |
| CPP_WARN_NULL_DEREFERENCE | Null Dereference | Yes | High |
| CPP_WARN_OBJC_BOOL_CONSTANT_CONVERSION | Objective-C Bool Constant Conversion | Yes | |
| CPP_WARN_OBJC_CIRCULAR_CONTAINER | Objective-C Circular Container | Yes | |
| CPP_WARN_OBJC_MULTIPLE_METHOD_NAMES | Objective-C Multiple Method Names | Yes | |
| CPP_WARN_OBJC_READONLY_WITH_SETTER_PROPERTY | Objective-C Readonly with Setter Property | Yes | |
| CPP_WARN_OBJC_SIGNED_CHAR_BOOL_IMPLICIT_FLOAT_CONVERSION | Objective-C Signed Char Bool Implicit Float Conversion | Yes | |
| CPP_WARN_ODR | One Definition Rule | Yes | High |
| CPP_WARN_OPENMP_51_EXTENSIONS | OpenMP 51 Extensions | Yes | |
| CPP_WARN_OPENMP_CLAUSES | OpenMP Clauses | Yes | |
| CPP_WARN_OPENMP_LOOP_FORM | OpenMP Loop Form | Yes | |
| CPP_WARN_OPENMP_MAPPING | OpenMP Mapping | Yes | |
| CPP_WARN_OPENMP_TARGET | OpenMP Target | Yes | |
| CPP_WARN_OPTION_IGNORED | Option Ignored | Yes | |
| CPP_WARN_ORDERED_COMPARE_FUNCTION_POINTERS | Ordered Compare Function Pointers | Yes | High |
| CPP_WARN_OUT_OF_LINE_DECLARATION | Out of Line Declaration | Yes | |
| CPP_WARN_OUT_OF_SCOPE_FUNCTION | Out of Scope Function | Yes | High |
| CPP_WARN_OVERLOADED_SHIFT_OP_PARENTHESES | Overloaded Shift Operator Parentheses | Yes | High |
| CPP_WARN_OVERRIDE_MODULE | Override Module | Yes | |
| CPP_WARN_OVERRIDING_T_OPTION | Overriding Slash T Option | Yes | |
| CPP_WARN_PARENTHESES | Parentheses | Yes | |
| CPP_WARN_PARENTHESES_EQUALITY | Parentheses Equality | Yes | High |
| CPP_WARN_PASS_FAILED | Pass Failed | Yes | |
| CPP_WARN_PCH_DATE_TIME | PCH (Precompiled Header) Date Time | Yes | |
| CPP_WARN_POINTER_ARITH | Pointer Arithmetic | Yes | High |
| CPP_WARN_POINTER_BOOL_CONVERSION | Pointer Bool Conversion | Yes | High |
| CPP_WARN_POINTER_COMPARE | Pointer Compare | Yes | High |
| CPP_WARN_POINTER_INTEGER_COMPARE | Pointer Integer Compare | Yes | High |
| CPP_WARN_POINTER_SIGN | Pointer Sign | Yes | High |
| CPP_WARN_POINTER_TO_ENUM_CAST | Pointer to Enum Cast | Yes | High |
| CPP_WARN_POINTER_TO_INT_CAST | Pointer to Int Cast | Yes | High |
| CPP_WARN_POINTER_TYPE_MISMATCH | Pointer Type Mismatch | Yes | High |
| CPP_WARN_POTENTIALLY_EVALUATED_EXPRESSION | Potentially Evaluated Expression | Yes | High |
| CPP_WARN_PRAGMA_CLANG_ATTRIBUTE | Pragma Clang Attribute | Yes | |
| CPP_WARN_PRAGMA_MESSAGES | Preprocessor #Pragma Messages | Yes | |
| CPP_WARN_PRAGMA_ONCE_OUTSIDE_HEADER | Pragma once Outside Header | Yes | High |
| CPP_WARN_PRAGMA_SYSTEM_HEADER_OUTSIDE_HEADER | Pragma System Header Outside Header | Yes | |
| CPP_WARN_PREDEFINED_IDENTIFIER_OUTSIDE_FUNCTION | Predefined Identifier Outside Function | Yes | |
| CPP_WARN_PRIVATE_EXTERN | Private Extern | Yes | |
| CPP_WARN_PRIVATE_HEADER | Private Header | Yes | |
| CPP_WARN_PROFILE_INSTR_OUT_OF_DATE | Profile Instrumented Code Out of Date | Yes | |
| CPP_WARN_PROFILE_INSTR_UNPROFILED | Profile Instrumented Code Unprofiled | Yes | |
| CPP_WARN_PSABI | PSABI (Processor-Specific Application Binary Interface) | Yes | |
| CPP_WARN_QUALIFIED_VOID_RETURN_TYPE | Qualified Void Return Type | Yes | High |
| CPP_WARN_REDECLARED_CLASS_MEMBER | Re-Declared Class Member | Yes | High |
| CPP_WARN_REDUNDANT_CONSTEVAL_IF | Redundant Consteval If | Yes | High |
| CPP_WARN_REGISTER | Register Keyword | Yes | |
| CPP_WARN_REINTERPRET_BASE_CLASS | Reinterpret Base Class | Yes | High |
| CPP_WARN_REORDER_INIT_LIST | Reorder Initializer List | Yes | High |
| CPP_WARN_RESTRICT_EXPANSION | Restrict Expansion | Yes | |
| CPP_WARN_RETURN_STACK_ADDRESS | Return Stack Address | Yes | High |
| CPP_WARN_RETURN_TYPE | Return Type | Yes | High |
| CPP_WARN_RETURN_TYPE_C_LINKAGE | Return Type C Linkage | Yes | High |
| CPP_WARN_REWRITE_NOT_BOOL | Rewrite Not Bool | Yes | |
| CPP_WARN_RTTI | Run-Time Type Information | Yes | |
| CPP_WARN_SARIF_FORMAT_UNSTABLE | SARIF Format Unstable | Yes | |
| CPP_WARN_SECTION | Section Attributes | Yes | |
| CPP_WARN_SELF_ASSIGN_FIELD | Self Assign Field | Yes | High |
| CPP_WARN_SENTINEL | Sentinel Attribute | Yes | |
| CPP_WARN_SERIALIZED_DIAGNOSTICS | Serialized Diagnostics | Yes | |
| CPP_WARN_SHIFT_COUNT_NEGATIVE | Shift Count Negative | Yes | High |
| CPP_WARN_SHIFT_COUNT_OVERFLOW | Shift Count Overflow | Yes | High |
| CPP_WARN_SHIFT_NEGATIVE_VALUE | Shift Negative Value | Yes | High |
| CPP_WARN_SHIFT_OP_PARENTHESES | Shift Operator Parentheses | Yes | High |
| CPP_WARN_SHIFT_OVERFLOW | Shift Overflow | Yes | High |
| CPP_WARN_SIGNED_UNSIGNED_WCHAR | Signed Unsigned Wchar | Yes | |
| CPP_WARN_SINGLE_BIT_BITFIELD_CONSTANT_CONVERSION | Single Bit Bitfield Constant Conversion | Yes | High |
| CPP_WARN_SIZEOF_ARRAY_ARGUMENT | Sizeof Array Argument | Yes | High |
| CPP_WARN_SIZEOF_ARRAY_DECAY | Sizeof Array Decay | Yes | High |
| CPP_WARN_SIZEOF_ARRAY_DIV | Sizeof Array Division | Yes | High |
| CPP_WARN_SIZEOF_POINTER_DIV | Sizeof Pointer Division | Yes | High |
| CPP_WARN_SIZEOF_POINTER_MEMACCESS | Sizeof Pointer Memory Access | Yes | High |
| CPP_WARN_SLASH_U_FILENAME | Slash U Filename | Yes | |
| CPP_WARN_SLH_ASM_GOTO | SLH (Speculative Load Hardening) Assembly Goto | Yes | |
| CPP_WARN_STACK_EXHAUSTED | Stack Exhausted | Yes | |
| CPP_WARN_STACK_PROTECTOR | Stack Protector | Yes | |
| CPP_WARN_STATIC_FLOAT_INIT | Static Float Init | Yes | |
| CPP_WARN_STATIC_INLINE_EXPLICIT_INSTANTIATION | Static Inline Explicit Instantiation | Yes | High |
| CPP_WARN_STATIC_LOCAL_IN_INLINE | Static Local in Inline | Yes | High |
| CPP_WARN_STATIC_SELF_INIT | Static Self Init | Yes | High |
| CPP_WARN_STDLIBCXX_NOT_FOUND | LibStdC++ Headers Not Found | Yes | |
| CPP_WARN_STRING_COMPARE | String Compare | Yes | High |
| CPP_WARN_STRING_PLUS_CHAR | String Plus Char | Yes | High |
| CPP_WARN_STRING_PLUS_INT | String Plus Int | Yes | High |
| CPP_WARN_STRLCPY_STRLCAT_SIZE | Strlcpy Strlcat Size | Yes | High |
| CPP_WARN_STRNCAT_SIZE | Strncat Size | Yes | High |
| CPP_WARN_SUSPICIOUS_BZERO | Suspicious Argument for Bzero Function | Yes | |
| CPP_WARN_SWITCH | Switch Statements | Yes | High |
| CPP_WARN_SWITCH_BOOL | Switch Bool | Yes | High |
| CPP_WARN_SYNC_FETCH_AND_NAND_SEMANTICS_CHANGED | Sync Fetch And Nand Semantics Changed | Yes | |
| CPP_WARN_TARGET_CLONES_MIXED_SPECIFIERS | Target Clones Mixed Specifiers | Yes | |
| CPP_WARN_TAUTOLOGICAL_CONSTANT_COMPARE | Tautological Constant Compare | Yes | High |
| CPP_WARN_TAUTOLOGICAL_CONSTANT_OUT_OF_RANGE_COMPARE | Tautological Constant Out of Range Compare | Yes | High |
| CPP_WARN_TAUTOLOGICAL_POINTER_COMPARE | Tautological Pointer Compare | Yes | High |
| CPP_WARN_TAUTOLOGICAL_UNDEFINED_COMPARE | Tautological Undefined Compare | Yes | High |
| CPP_WARN_TCB_ENFORCEMENT | TCB (Trusted Computing Base) Enforcement | Yes | |
| CPP_WARN_TENTATIVE_DEFINITION_INCOMPLETE_TYPE | Tentative Definition Incomplete Type | Yes | High |
| CPP_WARN_TRIGRAPHS | Trigraphs | Yes | High |
| CPP_WARN_TYPE_SAFETY | Type Safety | Yes | High |
| CPP_WARN_TYPEDEF_REDEFINITION | Typedef Redefinition | Yes | High |
| CPP_WARN_TYPENAME_MISSING | Typename Missing | Yes | High |
| CPP_WARN_UNABLE_TO_OPEN_STATS_FILE | Unable to Open Stats File | Yes | |
| CPP_WARN_UNALIGNED_QUALIFIER_IMPLICIT_CAST | Unaligned Qualifier Implicit Cast | Yes | |
| CPP_WARN_UNDEFINED_BOOL_CONVERSION | Undefined Bool Conversion | Yes | High |
| CPP_WARN_UNDEFINED_INLINE | Undefined Inline | Yes | High |
| CPP_WARN_UNDEFINED_INTERNAL | Undefined Internal | Yes | High |
| CPP_WARN_UNDEFINED_VAR_TEMPLATE | Undefined Var Template | Yes | High |
| CPP_WARN_UNDERALIGNED_EXCEPTION_OBJECT | Underaligned Exception Object | Yes | |
| CPP_WARN_UNEVALUATED_EXPRESSION | Unevaluated Expression | Yes | High |
| CPP_WARN_UNGUARDED_AVAILABILITY_NEW | Unguarded Availability New | Yes | High |
| CPP_WARN_UNICODE | Unicode Escape Sequences | Yes | High |
| CPP_WARN_UNICODE_HOMOGLYPH | Unicode Homoglyph | Yes | High |
| CPP_WARN_UNICODE_WHITESPACE | Unicode Whitespace | Yes | High |
| CPP_WARN_UNICODE_ZERO_WIDTH | Unicode Zero Width | Yes | High |
| CPP_WARN_UNKNOWN_ARGUMENT | Unknown Argument | Yes | |
| CPP_WARN_UNKNOWN_ASSUMPTION | Unknown Assumption | Yes | |
| CPP_WARN_UNKNOWN_ATTRIBUTES | Unknown Attributes | Yes | |
| CPP_WARN_UNKNOWN_DIRECTIVES | Unknown Directives | Yes | High |
| CPP_WARN_UNKNOWN_ESCAPE_SEQUENCE | Unknown Escape Sequence | Yes | High |
| CPP_WARN_UNKNOWN_SANITIZERS | Unknown Sanitizers | Yes | |
| CPP_WARN_UNKNOWN_WARNING_OPTION | Unknown Warning Option | Yes | |
| CPP_WARN_UNQUALIFIED_STD_CAST_CALL | Unqualified Standard Cast Call | Yes | High |
| CPP_WARN_UNREACHABLE_CODE_GENERIC_ASSOC | Unreachable Code Generic Assoc | Yes | |
| CPP_WARN_UNSEQUENCED | Unsequenced Modifications | Yes | High |
| CPP_WARN_UNSUPPORTED_ABI | Unsupported ABI (Application Binary Interface) | Yes | |
| CPP_WARN_UNSUPPORTED_ABS | Unsupported Absolute Value Argument | Yes | |
| CPP_WARN_UNSUPPORTED_AVAILABILITY_GUARD | Unsupported Availability Guard | Yes | High |
| CPP_WARN_UNSUPPORTED_CB | Unsupported Compact Branches | Yes | |
| CPP_WARN_UNSUPPORTED_FLOATING_POINT_OPT | Unsupported Floating Point Option | Yes | |
| CPP_WARN_UNSUPPORTED_FRIEND | Unsupported Friend | Yes | High |
| CPP_WARN_UNSUPPORTED_GPOPT | Unsupported GPopt (Gaussian Process Optimization) | Yes | |
| CPP_WARN_UNSUPPORTED_NAN | Unsupported Nan Argument | Yes | |
| CPP_WARN_UNSUPPORTED_TARGET_OPT | Unsupported Target Option | Yes | |
| CPP_WARN_UNSUPPORTED_VISIBILITY | Unsupported Visibility | Yes | |
| CPP_WARN_UNUSABLE_PARTIAL_SPECIALIZATION | Unusable Partial Specialization | Yes | |
| CPP_WARN_UNUSED_COMMAND_LINE_ARGUMENT | Unused Command Line Argument | Yes | |
| CPP_WARN_UNUSED_COMPARISON | Unused Comparison | Yes | High |
| CPP_WARN_UNUSED_GETTER_RETURN_VALUE | Unused Getter Return Value | Yes | |
| CPP_WARN_UNUSED_RESULT | Unused Result | Yes | High |
| CPP_WARN_UNUSED_VALUE | Unused Value | Yes | High |
| CPP_WARN_UNUSED_VOLATILE_LVALUE | Unused Volatile Lvalue | Yes | High |
| CPP_WARN_USER_DEFINED_LITERALS | User Defined Literals | Yes | High |
| CPP_WARN_USER_DEFINED_WARNINGS | User Defined Warnings | Yes | |
| CPP_WARN_VARARGS | Variadic Arguments | Yes | High |
| CPP_WARN_VEC_ELEM_SIZE | Vector Element Size | Yes | |
| CPP_WARN_VEXING_PARSE | Vexing Parse Occurrences | Yes | High |
| CPP_WARN_VISIBILITY | Visibility of Declarations | Yes | High |
| CPP_WARN_VOID_POINTER_TO_ENUM_CAST | Void Pointer to Enum Cast | Yes | High |
| CPP_WARN_VOID_POINTER_TO_INT_CAST | Void Pointer to Int Cast | Yes | High |
| CPP_WARN_VOID_PTR_DEREFERENCE | Void Pointer Dereference | Yes | High |
| CPP_WARN_WARNINGS | Preprocessor #Warnings | Yes | |
| CPP_WARN_WASM_EXCEPTION_SPEC | Wasm Exception Spec | Yes | |
| CPP_WARN_WRITABLE_STRINGS | Writable Strings | Yes | High |
| CPP_WARN_XOR_USED_AS_POW | Xor Used as Power | Yes | High |
| CWE-119B | Improper Restriction of Operations within the Bounds of a Memory Buffer(Part B: Write) | Yes | |
| CWE-787 | Out-of-bounds Write | Yes |