Skip Navigation Links | |
Exit Print View | |
What's New in the Oracle Solaris Studio 12.3 Release Oracle Solaris Studio 12.3 Information Library |
1. Introducing the Oracle Solaris Studio 12.3 Release
New/Changed Features Common To The Compilers
7. The Oracle Solaris Studio IDE
9. Known Problems, Limitations, and Workarounds in This Release
The following lists the new and changed features in this release of version 5.12 specific to the C++ compiler. For details, see the Oracle Solaris Studio 12.3: C++ User’s Guide and the CC man page.
The g++ compatibility option, —compat=g, is available on Oracle Solaris x86 as well as Linux platforms.
New compiler option: —xivdep sets the interpretation of ivdep pragmas. The ivdep pragmas tell a compiler to ignore some or all loop-carried dependences on array references that it finds in a loop for purposes of optimization. This enables a compiler to perform various loop optimizations such as microvectorization, distribution, software pipelining, etc., which would not be otherwise possible. It is used in cases where the user knows either that the dependences do not matter or that they never occur in practice.
The —compat=4 suboption (“compatability mode”) has been removed. The default is now —compat=5. Also, -compat=g option for g++ source and binary compatibility, previously available only on Linux platforms, has been extended to Solaris/x86 as well.
New option —features=cplusplus_redef allows the normally pre-defined macro __cplusplus to be redefined by a —D option on the command line. Attempting to redefine __cplusplus via a #define directive in source code is still not allowed. Also, use of —features=%none and —features=%all is now deprecated in this release.
A new suboption —xbuiltin=%default only inlines functions that do not set errno. The value of errno is always correct at any optimization level, and can be checked reliably.
C99 header stdbool.h and the C++ equivalent cstdbool are now available. In C++ the headers have no effect and are provided for compatibility with C99.
New option —xanalyze={code|no} produces a static analysis of the source code that can be viewed using the Oracle Solaris Code Analyzer.