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

preprocessed output lines might get truncated. To prevent this problem, you should include
the file option and specify a file of type 180 (a C disk file, an odd-unstructured file).
CSADDR
The CSADDR pragma directs the TNS C compiler to copy data objects from the current code space
into the stack space. The CSADDR pragma enables you to pass an address pointing at the current
code space to a function of a different code space. The CSADDR pragma is intended for functions
compiled under the ENV LIBRARY or ENV LIBSPACE pragma.
CSADDR
The pragma default settings are:
SYSTYPE OSSSYSTYPE GUARDIAN
Not setNot setTNS C compiler
Not setNot setG-series TNS c89 utility
N.A.N.A.TNS/R native C and C++ compilers
N.A.N.A.Native c89 and c99 utilities
N.A.N.A.TNS/E native C and C++ compilers
Usage Guidelines
The CSADDR pragma must be entered in the source file.
If you specify the CSADDR pragma, the compiler allocates sufficient space on the stack for
each code space data object to which a function argument points. It generates move instructions
to copy each data object to the corresponding implicit stack address, based on information
from previous data declarations. The new stack address is then passed as the function argument.
For examples and additional guidelines on using the CSADDR pragma, see Chapter 9:
System-Level Programming.
The native C and C++ compilers do not support this pragma. The native process memory
architecture does not require its use.
ELD(arg)
The ELD pragma specifies arguments to be passed to the eld utility, the TNS/E linker for PIC
(Position-Independent Code).
ELD(arg)
arg
is any argument accepted by the eld utility.
For more details on valid syntax and semantics, see the eld Manual.
The pragma default settings are:
SYSTYPE OSSSYSTYPE GUARDIAN
N.A.N.A.TNS C compiler
N.A.N.A.G-series TNS c89 utility
N.A.N.A.TNS/R native C and C++ compilers
Not setNot setNative c89 and c99 utilities
Not setNot setTNS/E native C and C++ compilers
182 Compiler Pragmas