Main Content

Allowed pragmas (-allowed-pragmas)

Specify pragma directives that are documented

Description

Specify pragma directives that must not be flagged by MISRA C™:2004 rule 3.4 or MISRA™ C++ rule 16-6-1. These rules require that you document all pragma directives.

Set Option

User interface (desktop products only): In your project configuration, the option is on the Coding Standards & Code Metrics node. See Dependencies for other options that you must also enable.

User interface (Polyspace Platform, desktop products only): In your project configuration, the option is on the Static Analysis tab on the Defects and Coding Standards > Checkers Behavior node.

Command line and options file: Use the option -allowed-pragmas. See Command-Line Information.

Why Use This Option

MISRA C:2004/MISRA AC AGC rule 3.4 and MISRA C++ rule 16-6-1 require that all pragma directives are documented within the documentation of the compiler. If you list a pragma as documented using this analysis option, Polyspace does not flag use of the pragma as a violation of these rules.

Settings

No Default

Click to add a field. Enter the pragma name that you want Polyspace® to ignore during coding rule checking.

Dependencies

This option is enabled only if you select one of these options:

Tips

Enter the name of the pragma only excluding any argument. For instance, if you use the pragma pack:

#pragma pack(n)
Enter only the name pack for this option.

Command-Line Information

Parameter: -allowed-pragmas
Value: pragma1[,pragma2[,...]]
Example (Bug Finder): polyspace-bug-finder -sources filename -misra-cpp required-rules -allowed-pragmas pragma_01,pragma_02
Example (Bug Finder Server): polyspace-bug-finder-server -sources filename -misra-cpp required-rules -allowed-pragmas pragma_01,pragma_02