Technical data

Cray Standard C/C++ Dialects [B]
extern inline functions are not supported.
Covariant return types on overriding virtual functions are not supported.
B.2 C++ Anachronisms Accepted
C++ anachronisms are enabled by using the -h anachronisms command
line option (see Section 2.4.7, page 11). When anachronisms are enabled, the
following anachronisms are accepted:
overload is allowed in function declarations. It is accepted and ignored.
Definitions are not required for static data members that can be initialized by
using the default initialization. The anachronism does not apply to static data
members of template classes; they must always be defined.
The number of elements in an array can be specified in an array delete
operation. The value is ignored.
A single operator++() and operator--() function can be used to
overload both prefix and postfix operations.
The base class name can be omitted in a base class initializer if there is only
one immediate base class.
Assignment to the this pointer in constructors and destructors is allowed.
This is only allowed if anachronisms are enabled and the assignment to
this configuration parameter is enabled.
A bound function pointer (a pointer to a member function for a given object)
can be cast to a pointer to a function.
A nested class name may be used as a nonnested class name if no other
class of that name has been declared. The anachronism is not applied to
template classes.
A reference to a non-const type may be initialized from a value of a different
type. A temporary is created, it is initialized from the (converted) initial value,
and the reference is set to the temporary.
A reference to a non-const class type may be initialized from an rvalue of
the class type or a derived class thereof. No (additional) temporary is used.
A function with old-style parameter declarations is allowed and can
participate in function overloading as though it were prototyped. Default
argument promotion is not applied to parameter types of such functions
S217936 161