Intel® C++ Compiler 16.0 User and Reference Guide

Checking Arrays

The pointer checker is not supported on OS X* systems.

The C and C++ language allows you to define arrays in another module with the extern keyword. These arrays can be defined without specifying the dimensions.

Example: Creating an Undimensioned Array

extern char an_undimensioned_array [];

The compiler allows more than one definition for externally defined arrays. During link time, the compiler uses the array definition with the largest bounds.

To check these arrays, the compiler defines a global symbol that marks the end of the array. However, checking undimensioned arrays can lead to a multiple defined linker error. To fix this linker error, do one of the following:

Note

This compiler option suppresses checking in the module that declares an array without bounds. The pointer checker will still check the arrays in modules that actually define the arrays with bounds.

See Also