Dialog Box: Create Suppression

To access this dialog box: In the Code Locations pane, right-click a code location in a problem you want to suppress during future analysis runs. In the context menu, choose Suppress....

Use this dialog box to define a suppression rule to help you focus during future analysis runs on only those issues that require your attention.

Tip

  • Although you are ultimately trying to suppress problems, the vehicle for defining a suppression rule is one or more code locations.

  • Narrow rules suppress a limited number of relevant problems; wider rules suppress a greater number of relevant problems.

  • Every rule applied during analysis adds processing time.

  • The goal: Suppress the greatest number of relevant problems with the fewest number of rules.

  • To review rules to be applied during analysis, check the Suppressions tab of the Project Properties dialog box.

  • To apply rules during analysis, select the Apply Suppressions radio button on the Target tab of the Project Properties dialog box.

  • A code location may be part of multiple problems; therefore, multiple rules may suppress the same code location, or a rule created to suppress one problem may partially impact another problem.

Use This

To Do This

Name text box

Add a short description to distinguish the new rule from other rules.

Save in drop-down list and Browse button

  • Save the new rule in the default location.

  • Save the new rule in another location.

Tip

Choose a non-default location only to make the rule easily accessible to others.

Problem type drop-down list

  • Suppress problems during analysis by Problem type (keep specific Problem type). Outcome: Rules with narrower reach.

  • Do not suppress problems by Problem type (click drop-down arrow and choose *(any) ). Outcome: Rules with wider reach.

Code Location Description checkboxes

  • Suppress problems during analysis by a code location (select checkbox). Outcome: Rules with narrower reach.

  • Do not suppress problems by a code location (deselect checkbox). Outcome: Rules with wider reach.

Tip

A single code location with all but one characteristic set to * (any) is ideal for widening a rule to suppress the greatest number of relevant problems.

Code Location Description drop-down lists

  • Suppress problems during analysis by Code Location Description (keep specific Code Location Description). Outcome: Rules with narrower reach.

  • Do not suppress problems by Code Location Description (click drop-down arrow and choose *(any) ). Outcome: Rules with wider reach.

Note

There are three Code Location Description possibilities: Allocation site, Deallocation site, and * (any). Memory error example: If you right-click a Mismatched allocation site code location for an occurrence of a Mismatched allocation/deallocation problem, the Intel Inspector displays one code location marked Allocation site and one code location marked * (any); you can click the drop-down arrow to change Allocation site to * (any). Threading error example: If you right-click a Read code location for an occurrence of a Read/Write Data race problem, the Intel Inspector displays two code locations marked * (any) and does not provide drop-down arrows.

Number of Frames in Rule fields

Identify the current number of stack/traceback frames that are the focus of the rule.

Start Frame in Rule fields

Identify the last-called stack/traceback frame that is currently the focus of the rule.

Edit... buttons

  • Review stack/traceback frames for the code location.

  • Choose a different stack/traceback frame as the focus of the rule.

  • Choose multiple stack/traceback frames as the focus of the rule.

Tip

  • Each additional frame in the stack/traceback narrows the reach of a rule.

  • Suppression rules are more robust if you specify a stack/traceback with multiple frames instead of frames with line numbers. (Because line numbers can be altered by code insertions or deletions, suppressions may be rendered ineffective by even minor code maintenance. Stack-based suppressions require larger code changes to invalidate them, such as changes to function call sequences.)

Create button

  • Create the new rule.

  • In the Problems and Code Locations panes, mark (strike through) all result data potentially impacted by the new rule.

Note

It may take some time for all strikethroughs to appear.

For more complete information about compiler optimizations, see our Optimization Notice.