Intel® C++ Compiler XE 13.1 User and Reference Guides

check-pointers-undimensioned, Qcheck-pointers-undimensioned

Determines whether the compiler checks bounds for memory access through arrays that are declared without dimensions.

IDE Equivalent

Windows: Code Generation > Turn off Checking for Undimensioned Arrays

Linux: Code Generation > Turn off Checking for Undimensioned Arrays

OS X: None

Architectures

IA-32, Intel® 64 architecture

Syntax

Linux:

-check-pointers-undimensioned

-no-check-pointers-undimensioned

OS X:

None

Windows:

/Qcheck-pointers-undimensioned

/Qcheck-pointers-undimensioned-

Arguments

None

Default

-check-pointers-undimensioned or /Qcheck-pointers-undimensioned

Bounds checking occurs for memory access through arrays that are declared without dimensions. This checking occurs for both dimensioned and undimensioned arrays.

Description

This option determines whether the compiler checks bounds for memory access through arrays that are declared without dimensions.

To use this option, you must also specify option -check-pointers (Linux* OS) or /Qcheck-pointers (Windows* OS). You must also have Composer XE 2013 and Parallel Studio XE 2013 (or C++ Studio XE 2013) installed on your system.

The default setting, -check-pointers-undimensioned (Linux* OS) and /Qcheck-pointers-undimensioned (Windows* OS ), can cause link time errors for multiple definitions for non-standard code and it can cause linker warnings for undefined symbols when linking library code that has not been compiled with pointer checking enabled. In both of these cases, the symbols will contain the string cp_array_end.

To prevent these issues, disable the checking of undimensioned arrays, by specifying -no-check-pointers-undimensioned (Linux OS) or /Qcheck-pointers-undimensioned- (Windows OS).

Note that even if you specify -no-check-pointers-undimensioned or /Qcheck-pointers-undimensioned-, dimensioned arrays are always checked.

Alternate Options

None

See Also


Submit feedback on this help topic