C/C++ Programmer's Guide (G06.25+)
Compiling and Linking TNS/R Native C and C++
Programs
HP C/C++ Programmer’s Guide for NonStop Systems—429301-008
16-7
Using Link Options to Specify Floating-Point Format
Run-Time Consistency Checking
If you attempt to use a processor that does not support IEEE floating-point format, then
process creation error code 64 occurs (IEEE floating-point support not
available on this processor). Programs can call the
PROCESSOR_GETINFOLIST_ procedure to determine whether a processor can run
IEEE floating-point instructions. (For more information about this procedure, see the
Guardian Procedure Calls Reference Manual.)
Run-time consistency checking includes a check for floattype consistency between
the program file and the user library file, if one is used. IEEE and Tandem floating-point
formats use different data formats and calling conventions: IEEE floating-point values
are typically passed in IEEE floating-point registers; while Tandem floating-point values
are passed in general purpose registers. Thus, problems can occur if a function using
one floating-point format calls a function using the other format. Checks are performed
Table 16-4. Floating-Point State as Determined by nld or ld floattype
Attribute
Tandem IEEE Neutral -set Tandem -set IEEE -set Neutral
1 or more 0 0 or more No message is
generated and
the output object
file is TANDEM_
FLOAT.
Warning
message is
generated and
the output object
file is
IEEE_FLOAT.
Warning
message is
generated and
the output
object file is
NEUTRAL_
FLOAT.
01 or
more
0 or more Warning
message is
generated and
output object file
is TANDEM_
FLOAT.
No message is
generated and
the output object
file is
IEEE_FLOAT.
Warning
message is
generated and
the output
object file is
NEUTRAL_
FLOAT.
1 or more 1 or
more
0 or more Warning
message is
generated and
output object file
is TANDEM_
FLOAT.
Warning
message is
generated and
the output object
file is
IEEE_FLOAT.
Warning
message is
generated and
the output
object file is
NEUTRAL_
FLOAT.
0 0 1 or more Warning
message is
generated and
output object file
is TANDEM_
FLOAT.
Warning
message is
generated and
the output object
file is
IEEE_FLOAT.
No message is
generated and
the output
object file is
NEUTRAL_
FLOAT.