C/C++ Programmer's Guide (G06.27+, H06.03+)

Table Of Contents
Compiling and Linking TNS/R Native C and C++
Programs
HP C/C++ Programmer’s Guide for NonStop Systems429301-010
16-7
Using Link Options to Specify Floating-Point Format
Table 16-4 shows the results of each floating-point state when the floattype
attribute is explicitly specified.
Run-Time Consistency Checking
If you attempt to use a processor that does not support IEEE floating-point format,
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 details 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. Therefore, problems can occur if a function
Table 16-4. Floating-Point State as Determined by TNS/R Native Linker
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.