C/C++ Programmer's Guide (G06.25+)
Compiling and Linking TNS/E Native C and C++
Programs
HP C/C++ Programmer’s Guide for NonStop Systems—429301-008
17-7
Using Link Options to Specify Floating-Point Format
Any floating type combination is allowed if the user explicitly overrides the default with
the set floattype flag.
Table 17-4 shows the results of each floating-point state when the floattype
attribute is explicitly specified.
Run-Time Consistency Checking
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
at process creation to ensure that the user library (if there is one) is marked with a
floattype consistent with the program file.
Table 17-4. Floating-Point State as Determined by eld 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.