// MISRA C-2012 Rules

{
    version : "2.0",
    standard : "c2012",
    title: "Coverity MISRA Configuration",
    deviations : [
        // Disable the following rules.
        {
            deviation: "Directive 4.5",
            reason: "Allow names that MISRA considers ambiguous (such as variable cborEncoder and cborParser)."
        },
        {
            deviation: "Directive 4.8",
            reason: "Allow inclusion of unused types. Library headers may define types that are used only by application files or specific port files."
        },
        {
            deviation: "Directive 4.9",
            reason: "Allow inclusion of function like macros. Logging is done using function like macros."
        },
        {
            deviation: "Rule 2.4",
            reason: "Allow unused tags. Some compilers warn if struct/enum types are not tagged."
        },
        {
            deviation: "Rule 2.5",
            reason: "Allow unused macros. Library headers may define macros intended for the application's use, but not used by a specific file."
        },
        {
            deviation: "Rule 3.1",
            reason: "Allow nested comments. Documentation blocks contain comments for example code."
        },
        {
            deviation: "Rule 11.5",
            reason: "Allow casts from void *. Contexts are passed as void * and must be cast to the correct data type before use."
        },
        {
            deviation: "Rule 21.1",
            reason: "Allow use of all names. For compatibility, libraries may define macros introduced in C99 for use with C90 compilers."
        },
        {
            deviation: "Rule 21.2",
            reason: "Allow use of all names. For compatibility, libraries may define macros introduced in C99 for use with C90 compilers."
        }
    ]
}
