Technical data
Cray Standard C/C++ Reference Manual
For classes that contain no such function, the default behavior is to define the
virtual function table (but to define it as a local static entity).
The -h forcevtbl option differs from the default behavior in that it does
not force the definition to be local.
2.7 General Language Options
The following sections describe general language options.
2.7.1 -h keep=file ( CC)
When the -h keep=file option is specified, the static constructor/destructor
object (.o) file is retained as file. This option is useful when linking .o files on a
system that does not have a C++ compiler. The use of this option requires that the
main function must be compiled by C++ and the static constructor/destructor
function must be included in the link. With these precautions, mixed object
files (files with .o suffixes) from C and C++ compilations can be linked into
executables by using the loader command instead of the CC command.
2.7.2 -h restrict=args (CC, cc)
The -h restrict=args option globally instructs the compiler to treat certain
classes of pointers as restricted pointers. You can use this option to enhance
optimizations. This includes vectorization on UNICOS systems.
Classes of affected pointers are determined by the value contained in args,
as follows:
a
rgs Description
a All pointers to object and incomplete types are to be considered
restricted pointers, regardless of where they appear in the source
code. This includes pointers in class, struct, and union
declarations, type casts, function prototypes, and so on.
f All function parameters that are pointers to objects or incomplete
types can be treated as restricted pointers.
t All this parameters can be treated as restricted pointers (Cray
Standard C++ only).
The args arguments instruct the compiler to assume that, in the current
compilation unit, each pointer (=a), or each pointer that is a function parameter
14 S–2179–36










