Skip Navigation Links | |
Exit Print View | |
Oracle Solaris Studio 12.3: C++ User's Guide Oracle Solaris Studio 12.3 Information Library |
1.3 Compiling for 64-Bit Platforms
1.4 Binary Compatibility Verification
3. Using the C++ Compiler Options
6. Creating and Using Templates
9. Improving Program Performance
10. Building Multithreaded Programs
12. Using the C++ Standard Library
This section provides a summary list of the new and changed features and functionality introduced in the Oracle Solaris Studio 12.3 C++ 5.12 Compiler release.
Support for new SPARC T4 platform: —xtarget=T4, —xchip=T4, —xarch=sparc4
Support for new x86 Platform Sandy Bridge / AVX: —xtarget=sandybridge —xchip=sandybridge —xarch=avx
Support for new x86 Platform Westmere / AES: —xtarget=westmere —xchip=westmere —xarch=aes
New compiler option: —g3 adds expanded debugging symbol table information. (A.2.31 -g3)
New compiler option: —Xlinker arg passes arg to linker, ld(1). Equivalent to —Wl,arg. (A.2.98 -Xlinker arg)
The OpenMP default number of threads, OMP_NUM_THREADS is now 2 (was 1). (A.2.152 -xopenmp[=i])
Support for the OpenMP 3.1 shared memory parallelization specifications. (A.2.152 -xopenmp[=i])
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. (A.2.126 -xivdep[=p])
Use —library=sunperf to link to the Sun Performance Library. This obsoletes -xlic_lib=sunperf. (A.2.49 -library=l[,l...])
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 Oracle Solaris/x86 as well. (A.2.6 -compat={5|g})
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.2.17 -features=a[,a...])
New option —xanalyze={code|no} produces a static analysis of the source code that can be viewed using the Oracle Solaris Code Analyzer. (A.2.102 -xanalyze={code|no})
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. (A.2.108 -xbuiltin[={%all|%default|%none}])
Support for user-supplied compiler option defaults. (3.4 User-Supplied Default Options File)
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.