Intel® Fortran Compiler 17.0 Developer Guide and Reference
Initializes stack local variables to an unusual value to aid error detection.
Linux and macOS: | -ftrapuv |
Windows: | /Qtrapuv |
None
OFF |
The compiler does not initialize local variables. |
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 OS X*) and /Zi or /Z7 (Windows*), which changes the default optimization level from O2 to -O0 (Linux and OS X) 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 OS X) or /Qtrapuv (Windows) are used together, you should specify option -fp-speculation safe (Linux and OS X) 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 in Intel® Developer Zone 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.
Visual Studio: Data > Initialize stack variables to an unusual value
Eclipse: None
Xcode: Run-Time > Initialize Stack Variables to an Unusual Value
None