Go to main content
What's New in the Oracle® Developer Studio 12.6 Release

Exit Print View

Updated: July 2017
 
 

Changes to Compilers

The following section describes changes made to the compilers and includes the following topics:

New and Changed Features Common to the Compilers

The following changes were made to the C, C++, and Fortran compilers since the previous release. Details can be found in the compiler man pages. The changes specific to the C++ compiler are detailed in C++ Compiler. The changes specific to the C compiler are detailed in C Compiler.

GCC Compatible Option –fvisibility

The –fvisibility=v option is equivalent to the –xldscope option as follows:

–fvisibility Options
Equivalent –xldscope Options
default
global
internal
hidden
protected
symbolic
hidden
hidden

GCC Compatible Option –shared

In Oracle Developer Studio 12.6, the –shared option is compatible with GCC. The –shared option creates a shared library, similar to the –G option. By default, the –shared option links the same libraries that would be linked when creating an executable program, whereas the –G option does not automatically link default libraries. In previous releases, the –shared option was equivalent to the –G option.

New Command Options

The following list describes the new command options, common to all the compilers.

  • New options for SPARC M8/T8 — The -xchip and -xtarget values are now available for SPARC M8/T8 systems.

  • New options for x86 processor Skylake — The -xchip=skylake, -xtarget=skylake, and -xarch=avx512 values are now available for Intel Skylake processor.

  • Default option on Linux — The default option on Linux is –xannotate.

  • The command options –fstrct-aliasing and –fno-strict-aliasing are now available.

New Macro for Oracle Solaris

A new macro, __SUNOS_Release is now available for Oracle Solaris only.

__SunOS_RELEASE on Oracle Solaris

A hex value, 0xRRrrmm, representing the Oracle Solaris release, where RR.rr is the output of the sysinfo (SI_RELEASE) system call, or the uname -r command, with leading zeros added when needed. The mm digits are reserved for possible future micro releases. All the digits are in decimal.

For example, Oracle Solaris 11, which is SunOS 5.11: __SunOS_RELEASE has the value 0x051100.

The value of __SunOS_RELEASE for an older Oracle Solaris release is always less than the value for a later release. For example,

#if __SunOS_RELEASE >= 0x051100 // Solaris 11 or later

Inlining Behaviour of the Compilers

The Studio compilers automatically inline routines whose body is smaller than the calling overhead at -O3 level. To control the functions that are automatically inlined, use -xinline=list option.

Compress Debug Sections

The -xcompress=debug option can be used to compress debug sections using the format specified by the -xcompress_format option. Support for the equivalent gcc option -gz has also been added.

-xdebugformat=stabs Option

The –xdebugformat=stabs option is removed.

Fortran Compiler

The Fortran compiler supports technical and scientific application development with record-setting runtime performance and compatibility options for the Fortran77, Fortran90, and Fortran95 standards. The majority of Fortran 2003 features and OpenMP 4.5 support is included. The Fortran compiler uses the same high-performance code generation technology as the C and C++ compilers, ensuring that the resulting application generates the highest-performance parallel code for the newest SPARC and x86-based Oracle systems.

The Fortran compiler changes include the changes that are described in New and Changed Features Common to the Compilers and the following:

  • Support for Fortran global program checking (GPC) is removed.

  • Parameterized Derived Types, introduced in the Fortran 2003 standard, is now supported.

For more information, see the f95(1) man page and the Oracle Developer Studio 12.6: Fortran User’s Guide.