nld and noft Manual

nld Utility
nld and noft Manual520384-003
2-24
Link-Time Consistency Checking
floattype Specified
When the floattype attribute is explicitly specified with the -set option, any
combination of floating types is allowed—nld sets the floattype attribute value for
the output object file to the specified value. If nld detects an inconsistency between
the specified floattype attribute value and that of any input object file, it issues a
warning message. Table 2-4 summarizes this paragraph.
Table 2-4. Floating-Point Type Consistency Check by nld (floattype Specified)
Number of Input Files With
Floating-Point Type ... Consistency Check Result With floattype Set to ...
Tandem IEEE Neutral Tandem IEEE Neutral
1 or
more
00 or
more
No message.
Output file is
TANDEM_FLOAT.
Warning
message. Output
file is
IEEE_FLOAT.
Warning message.
Output file is
NEUTRAL_FLOAT.
01 or
more
0 or
more
Warning
message. Output
file is
TANDEM_FLOAT.
No message.
Output file is
IEEE_FLOAT.
Warning message.
Output file is
NEUTRAL_FLOAT.
0 0 1 or
more
Warning
message. Output
file is
TANDEM_FLOAT.
Warning
message. Output
file is
IEEE_FLOAT.
No message.
Output file is
NEUTRAL_FLOAT.
1 or
more
1 or
more
0 or
more
Warning
message. Output
file is
TANDEM_FLOAT.
Warning
message. Output
file is
IEEE_FLOAT.
Warning message.
Output file is
NEUTRAL_FLOAT.
Note. If source code manipulates floating-point data, either the TANDEM_FLOAT or the
IEEE_FLOAT machine instruction is placed into the object code, depending on the compiler
directive (pragma) floattype. The nld option -set floattype cannot change the
instruction set. To change the instruction set, you must recompile the source code with the
correct directive (pragma). The two cases where you use the nld option -set floattype
are:
The floattype in a module has been set to either TANDEM_FLOAT or IEEE_FLOAT, but
the module does no floating-point operations. You want to link the module to another
module that does floating-point operations, but the other module has a different floattype
value.
A program deliberately uses both types of floating-point instructions.