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-6
Using Link Options to Specify Floating-Point Format
Using Link Options to Specify Floating-Point Format
When linking object files using the eld utility, you can specify the floating-point state of
the output object file using the -set floattype flag. You can set any of the following
options:
TANDEM_FLOAT
IEEE_FLOAT
NEUTRAL_FLOAT
If the -set floattype flag is not specified, the eld utility derives the floating-point
state of the output object file from the states of the input files.
When modifying an existing object file, eld sets the state as specified by the -change
floattype flag.
Link-Time Consistency Checking
The eld utility checks the consistency of floating-point type combinations when linking
object files. The checking differs according to whether the -set flag is specified.
When the floattype attribute is not explicitly set with the -set flag, eld uses the
floattype attribute values of all the input object files for determining the floattype
attribute value for the output object file. If the consistency checks of the input object
files result in an invalid floating-point state or inconsistent value, an error message is
generated and no output object file is created.
Table 17-3 shows the results of each combination of floating-point states when the
floattype attribute is not explicitly specified. The columns Tandem, IEEE, and
Neutral, show the number of input object files characterized by that floating-point
setting.
When the floattype attribute is explicitly specified with the -set flag, eld sets the
floattype attribute value for the output object file to that specified value. If an
inconsistency is detected, a warning message and an output object file are generated.
If the floating-point state is invalid, no output object file is created.
Table 17-3. Floating Point Consistency Check by eld Utility
Tandem IEEE Neutral Consistency Check Result
1 or more 0 0 or more No message is generated and the output object file
has TANDEM_FLOAT state.
0 1 or more 0 or more No message is generated and the output object file
has IEEE_FLOAT state.
1 or more 1 or more 0 or more Error message is generated. No output object file is
created.
0 0 1 or more No message is generated and the output object file
has NEUTRAL_FLOAT state.