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

SYSTYPE OSSSYSTYPE GUARDIAN
N.A.N.ATNS/R native C and C++ compilers
N.AN.ANative c89 and c99 utilities
N.AN.ATNS/E native C and C++ compilers
Usage Guidelines
The WIDE pragma can be entered on the compiler RUN command line or in the source text.
The TNS C++ translator, Cfront, is WIDE by default. The TNS C compiler is effectively NOWIDE
by default. To compile TNS C++ programs for the Guardian environment that use the 32-bit
data model, specify pragma WIDE in the C++ source file or on the TNS C++ preprocessor,
Cprep, run command line.
In source text, the WIDE pragma must be specified before any declarations or source code
statements.
The native C and C++ compilers do not support these pragmas. Native compilers generate
only programs that use the 32-bit data model.
The WIDE pragma compiles only under the large-memory model. The combination of the WIDE
and NOXMEM pragmas is diagnosed as an error.
All translation units of a program must specify the same data model. Programs composed of
Guardian modules (modules compiled for the Guardian environment) and OSS modules
(modules compiled for the OSS environment) must use the 32-bit data model.
For more information about the two data models, see Two Data Models: 16-Bit and ILP32
(page 325).
The preprocessor variable __INT32 is defined when the WIDE pragma is in effect.
XMEM
The XMEM pragma controls which memory model, large or small, the object file uses. The XMEM
pragma specifies the large-memory model. NOXMEM specifies the small-memory model.
[NO]XMEM
The pragma default settings are:
SYSTYPE OSSSYSTYPE GUARDIAN
XMEMXMEMTNS C compiler
XMEMXMEMTNS c89 utility
N.AN.AG-series TNS c89 utility
N.AN.ATNS/R native C and C++ compilers
N.A.N.A.Native c89 and c99 utilities
Usage Guidelines
The XMEM pragma can be entered on the compiler RUN command line or at the start of the
source text before any declarations or source code statements.
The native C and C++ compilers do not support the XMEM pragma. Native compilers generate
only programs that use the large-memory model.
The NOXMEM pragma cannot be used if the pragma SYSTYPE OSS is specified. The compiler
issues a warning.
XMEM 259