The options in this category allow you to detect and correct problems in your source code. In some cases, these options can alter your object code, increase your compile time, or introduce runtime checking that can slow down the execution of your application. The option descriptions indicate how extra checking can impact performance.
To control the amount and type of information you receive regarding the behavior and performance of your application, consult the options in Listings, messages, and compiler information.
For information on debugging optimized code, see the XL C Optimization and Programming Guide.
Option name | Equivalent pragma name | Description |
---|---|---|
-# (pound sign) | None. | Previews the compilation steps specified on the command line, without actually invoking any compiler components. |
-qcheck | #pragma options check | Generates code that performs certain types of runtime checking. |
-qdbgfmt | None | Specifies the format for the debugging information in object files. |
-qdbxextra | #pragma options dbxextra | When used with the -g option, specifies that debugging information is generated for unreferenced typedef declarations, struct, union, and enum type definitions. |
-qdpcl | None. | Generates symbols that tools based on the IBM Dynamic Probe Class Library (DPCL) can use to see the structure of an executable file. |
-qextchk | #pragma options extchk | Generates link-time type checking information and checks for compile-time consistency. |
-qflttrap | #pragma options flttrap | Determines what types of floating-point exceptions to detect at run time. |
-qformat | None. | Warns of possible problems with string input and output format specifications. |
-qfullpath | #pragma options fullpath | When used with the -g or -qlinedebug option, this option records the full, or absolute, path names of source and include files in object files compiled with debugging information, so that debugging tools can correctly locate the source files. |
-qfunctrace | None. | Calls the tracing routines to trace the entry and exit points of the specified functions in a compilation unit. |
-g | None. | Generates debugging information for use by a symbolic debugger, and makes the program state available to the debugging session at selected source locations. |
-qhalt | #pragma options halt | Stops compilation before producing any object, executable, or assembler source files if the maximum severity of compile-time messages equals or exceeds the severity you specify. |
-qhaltonmsg | None. | Stops compilation before producing any object files, executable files, or assembler source files if a specified error message is generated. |
-qheapdebug | None. | Enables debug versions of memory management functions. |
-qinfo | #pragma options info, #pragma info | Produces or suppresses groups of informational messages. |
-qinitauto | #pragma options initauto | Initializes uninitialized automatic variables to a specific value, for debugging purposes. |
-qkeepparm | None. | When used with -O2 or higher optimization, specifies whether procedure parameters are stored on the stack. |
-qlinedebug | None. | Generates only line number and source file name information for a debugger. |
-qmaxerr | None. | Stops compilation when the number of error messages of a specified severity level or higher reaches a specified number. |
-qoptdebug | None. | When used with high levels of optimization, produces files containing optimized pseudocode that can be read by a debugger. |
-qsymtab | None. | Determines the information that appears in the symbol table. |
-qsyntaxonly | None. | Performs syntax checking without generating an object file. |
-qwarn64 | None. | Enables checking for possible data conversion problems between 32-bit and 64-bit compiler modes. |