Floating-Point Exception-Handling Options

The procedure descriptor for each function generated using the Alpha Visual C++ CL compiler contains data that instructs the Windows NT kernel and run-time libraries how to handle floating-point exceptions. Use of the following options allows you to control the contents at this area in the procedure descriptor. For more information on Procedure Descriptors, see the Alpha Calling Standard.

Most developers do not need to be concerned with these options, but developers implementing run-time libraries might wish to use them.

/Qapdca

Use the caller's exception mode. Math library functions are compiled in this mode so that IEEE exceptions may be fixed up in accordance with the user's code.

/QApdie

IEEE: Raise no exceptions except as controlled by separate IEEE exception-enabling bits; create infinite, denormal, and NaN values according to the IEEE floating-point standard.

/QApdsa

Signal All: Raise exceptions for all error conditions (including underflow).

/QApdsg

Signal: Raise exceptions for all error conditions except for underflow, which yields a zero result.

/QApdst

Silent: Raise no exceptions, create only finite values (no infinites, denormals, nor NaNs). In this mode, either the function result or the C language errno variable must be examined for any error indication.

The default is -QApdst unless -QAieee, -QAieee1, or -QAieee2 is set. If IEEE floating-point behavior is specified (-QAieee, -QAieee1, -QAieee2), /QApdie is used by default.

/QApe

Enables precise floating-point exceptions. Use of this switch slows down floating-point operations and is useful mainly when the floating-point exceptions are trapped at the instruction that generated the exception. This can be useful for debugging floating-point errors.