Technical data
New Features
Cray Standard C/C++ Reference Manual S–2179–36
The Cray Standard C/C++ Reference Manual supports the Cray Standard C/C++ compiler 3.6 release.
Documentation supporting the following features were added to this manual:
Standard C++ The Cray Standard C++ compiler now supports the C++98 standard (ISO/IEC
FDIS 14882:1998). Refer to Chapter 4, page 103 for more information.
Cray C++ STL compiler
options
Added two new options that allow existing code that define templates
using the Cray C++ STL to compile successfully with the
-h conform
option. The options allow you to compile existing code without recoding
it to use the current Cray standard C++ STL. The new options are: -h
[no]parse_templates and -h [no]dep_name. Refer to Section 2.4.4, page 10
and Section 2.4.5, page 10 for more information.
C++ programming
environment
compatibility option
The CRAYOLDCPPLIB environment variable allows C++ code developed
under programming environment 3.4 and 3.5 to compile successfully without
modification. Refer to Section 2.24, page 43 for more information.
Template instantiation Two compiler options were added to aid template instantiation: -h
one_instantiation_per_object and -h instantiation_dir. Refer to
Section 2.5.2, page 12 for more information.
Standard C
Conformance
The Cray Standard C compiler now supports the C99 standard (ISO/IEC
9899:1999) through the -h [no]c99 command line option. This option enables
language features new to the C99 standard and Cray Standard C compiler,
while providing support for features that were previously defined as Cray
extensions. If the previous implementation of the Cray extension differed from
the C99 standard, both implementations will be available when the is option
enabled. Hexadecimal floating point constants are an example of this behavior.
Vectorization
Optimization
(Cray SV1 series only) The new -h infinitevl option instructs the compiler
to assume an infinite safe vector length for all #pragma ivdep directives. The
-h noinfinitevl option instructs the compiler to assume a safe vector
length equal to the maximum supported vector length on the machine for all
#pragma ivdep directives.
Display current
optimization selections
Added the -h display_opt option which displays the current optimization
settings for the current compilation.
bte_move intrinsic
(Cray SV1 Series
systems only)
Added a reference to the new bte_move intrinsic command that allows a
program to move data within main memory or the SSD, from main memory to
SSD, and from SSD to main memory. Refer to the bte_move(3i) man page for
more information.
Miscellaneous changes Other miscellaneous technical changes were made to this document.










