Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 9/08/2022
Public

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

Document Table of Contents

ftrapuv, Qtrapuv

Initializes stack local variables to an unusual value to aid error detection. This feature is only available for ifort.

Syntax

Linux:

-ftrapuv

macOS:

-ftrapuv

Windows:

/Qtrapuv (ifort only)

Arguments

None

Default

OFF

The compiler does not initialize local variables.

Description

This option initializes stack local variables to an unusual value to aid error detection. Normally, these local variables should be initialized in the application. It also unmasks the floating-point invalid exception.

The option sets any uninitialized local variables that are allocated on the stack to a value that is typically interpreted as a very large integer or an invalid address. References to these variables are then likely to cause run-time errors that can help you detect coding errors.

This option sets option -g (Linux* and macOS) and /Zi or /Z7 (Windows*), which changes the default optimization level from O2 to -O0 (Linux and macOS) or /Od (Windows). You can override this effect by explicitly specifying an O option setting.

This option sets option [Q]init snan.

If option O2 and option -ftrapuv (Linux and macOS) or /Qtrapuv (Windows) are used together, you should specify option -fp-speculation safe (Linux and macOS) or /Qfp-speculation:safe (Windows) to prevent exceptions resulting from speculated floating-point operations from being trapped.

For more details on using options -ftrapuv and /Qtrapuv with compiler option O, see the article titled Don't optimize when using -ftrapuv for uninitialized variable detection.

Another way to detect uninitialized local scalar variables is by specifying keyword uninit for option check.

IDE Equivalent

Visual Studio: Data > Initialize stack variables to an unusual value

Alternate Options

None

See Also