C/C++ Programmer's Guide (G06.25+)
Compiler Pragmas
HP C/C++ Programmer’s Guide for NonStop Systems—429301-008
13-18
CSADDR
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.
The pragma default settings are:
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 
Section 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.
CSADDR
SYSTYPE GUARDIAN SYSTYPE OSS
TNS C compiler Not set Not set
G-series TNS c89 utility Not set Not set
TNS/R native C and C++ compilers  N.A. N.A.
Native c89 utility N.A. N.A.
TNS/E native C and C++ compilers  N.A. N.A.










