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

Table 28 Compiler Pragma Descriptions (continued)
PurposePragma
Specifies a struct, class, or union definition and marks it as
being available in the neutral C++ standard library on TNS/E
systems.
NEUTRAL
Specifies arguments to be passed to the nld utility.NLD(arg)
Disables support for exception handling by the native C++ compiler
when you are also using the VERSION2 or VERSION3 directive.
NOEXCEPTIONS
Directs the compiler to generate code that is not PIC
(Position-Independent Code), that cannot be shared and that cannot
NON_SHARED
access PIC files. NON_SHARED is the default for the TNS/R native
compilers but is not allowed for the TNS/E native compilers.
Controls how the TNS C compiler generates code for function calls.OLDCALLS
Specifies the maximum decimal number of basic blocks of a routine
to be optimized by the global optimizer.
OLIMIT
Specifies that the file containing this pragma will be compiled only
once during the compilation.
ONCE
Specifies an optimizer file, which contains a list of functions that are
to be optimized at the level specified in the file.
OPTFILE
Controls the level to which the compiler optimizes the object code.OPTIMIZE
Determines whether the native C and C++ compilers generate code
with arithmetic overflow traps.
OVERFLOW_TRAPS
Causes a page eject in the compiler listing and prints a page
heading.
PAGE
Specifies that within a compilation unit multiple occurrences of the
same string literal are to occupy the same storage space.
POOL_STRING_LITERALS
Directs the native compilers to restore the value of certain pragmas
that were stored earlier by a PUSH pragma.
POP
Supports ILP32 data in the LP64 data model compiler. This pragma
is available in the native C and C++ compilers. It can be specified
p32_shared
only in the source file using the #pragma p32_shared syntax. For
more information, see “LP64 Data Model” (page 391).
It indicates within the definition, that the unqualified pointer
declarations are 64-bit pointers – regardless of the data model. For
more information, see “LP64 Data Model” (page 391).
p64_shared
Specifies where an instrumented object file is to create the raw data
file. This option is intended for use only with the PROFGEN or
PROFDIR
CODECOV option, and is supported only by the TNS/E native
compilers.
Directs the TNS/E native compilers to generate an instrumented
object file for use in profile-guided optimization.
PROFGEN
Directs the TNS/E native compilers to generate optimized object
code based on information in a dynamic profiling information (DPI)
file.
PROFUSE
Directs the compiler to save the value of certain pragmas.PUSH
Specifies the default reference alignment for pointers in native C and
C++ programs.
REFALIGNED
Directs the native C and C++ compilers to issue remarks.REMARKS
Directs the Guardian compiler to generate an executable object file
instead of a linkable object file for a single-module program.
RUNNABLE
169