The C compiler changes include the changes that are described in New and Changed Features Common to the Compilers, and also the following changes:
The new compiler options are as follows:
–fcommon and –fno-common
–features=[no%]gcc_enums
–fexceptions
–fsemantic-interposition
–fno-semantic-interposition
–fshort-enums
–fvisibility
–shared
–std=gnu11 -std=gnu99 -std=gnu90 -std=gnu89 -std=c90 and equivalent aliases
The new lint options are as follows:
–features=[no%]gcc_enums
–fshort-enums
The features associated with the improved compatibility with gcc are as follows:
Zero-size structs in types
__builtin_offsetof intrinsic
__builtin_expect intrinsic
Accepts white space after line-continuation character (backslash \)
Handles BOM character properly
Allows char and short enums under the –fshort-enums option
Allows unsigned int enums with –features=[no%]gcc_enums
Allows long and unsigned long enums with –features=[no%]gcc_enums
Allows packed attribute on enums
The new attributes supported are as follows:
__packed__
section(…)
Added __cpuid instrinsic
Added support of C11 string literals, u8"", u"", and U""
For more information, see the cc(1) man page and the Oracle Developer Studio 12.6: C User’s Guide.