Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 12/16/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

check

Checks for certain conditions at run time.

Syntax

Linux and macOS:

-check=keyword[, keyword...]

Windows:

/check:keyword[, keyword...]

Arguments

keyword

Specifies the conditions to check. Possible values are:

[no]conversions

Determines whether checking occurs for converting to smaller types. Keyword conversions enables this checking.

[no]stack

Determines whether checking occurs on the stack frame. Keyword stack enables this checking. If stack is specified, the stack is checked for buffer overruns and buffer underruns. This option also enforces local variables initialization and stack pointer verification.

[no]uninit

Determines whether checking occurs for uninitialized variables. Keyword uninit enables this checking. If a variable is read before it is written, a run-time error routine will be called.

Run-time checking of undefined variables is only implemented on local, scalar variables. It is not implemented on dynamically allocated variables, extern variables or static variables. It is not implemented on structs, classes, unions or arrays.

Default

noconversions
nostack
nouninit

No checking is performed for the above run-time conditions.

Description

This option checks for certain conditions at run time.

On Windows* systems, this option disables any default or specified optimizations and applies the /Od level of optimization. If you specified optimizations, the compiler emits warning diagnostics for the disabled optimizations.

On Linux* and macOS systems, this option may disable some optimizations.

NOTE:

This option requires library support. Depending on the platform, the required library is either in your operating system run-time environment or in your compiler package.

IDE Equivalent

Visual Studio: None

Eclipse: Runtime > Check Stack Frame (-check=stack)

Runtime > Check Type Conversions (-check=conversions)

Runtime > Check Uninitialized Variables (-check=uninit)

Xcode: Runtime > Check Stack Frame (-check=stack)

Runtime > Check Type Conversions (-check=conversions)

Runtime > Check Uninitialized Variables (-check=uninit)

Alternate Options

check:conversions

Linux and macOS: None

Windows: /RTCc

check:stack

Linux and macOS: None

Windows: /RTCs

check:uninit

Linux and macOS: None

Windows: /RTCu