No STL stubs (-no-stl-stubs)

Do not use Polyspace implementations of functions in the Standard Template Library

Description

Specify that the verification must not use Polyspace® implementations of the Standard Template Library.

Set Option

User interface (desktop products only): In your project configuration, the option is on the Inputs & Stubbing node. See Dependency for other options that you must also enable.

Command line and options file: Use the option -no-stl-stubs. See Command-Line Information.

Why Use This Option

When you use a class template from the Standard Template Library (STL), the Polyspace analysis, instead of verifying a full implementation of the STL template, uses stubs to improve performance and precision.

However, it might happen that your compiler redefines an STL template with an implementation that conflicts with the Polyspace implementation. If a conflict occurs, you see errors because your code uses your compiler implementation of the STL template. To avoid the errors, use this option and prevent Polyspace from using its implementations of STL templates. You must also explicitly provide the path to your compiler includes. See C++ Standard Template Library Stubbing Errors (Polyspace Code Prover)

Settings

On

The verification does not use Polyspace implementations of the Standard Template Library.

Off (default)

The verification uses efficient Polyspace implementations of the Standard Template Library.

Dependency

This option is available only if you set Source code language (-lang) to CPP or C-CPP.

Command-Line Information

Parameter: -no-stl-stubs
Default: Off
Example (Code Prover): polyspace-code-prover -sources file_name -no-stl-stubs
Example (Code Prover Server): polyspace-code-prover-server -sources file_name -no-stl-stubs