1. Introduction to the C Compiler
1.3 Binary Compatibility Verification
1.4 Compiling for 64-Bit Platforms
1.8 Organization of the Compiler
1.9 C-Related Programming Tools
2. C-Compiler Implementation-Specific Information
7. Converting Applications for a 64-Bit Environment
8. cscope: Interactively Examining a C Program
A. Compiler Options Grouped by Functionality
B. C Compiler Options Reference
C. Implementation-Defined ISO/IEC C99 Behavior
E. Implementation-Defined ISO/IEC C90 Behavior
H. The Differences Between K&R Solaris Studio C and Solaris Studio ISO C
Note the following new and changed features in the current C compiler release.
ABI Change Requires Recompilation: A change to the C compiler corrects the way structs containing complex types are passed and returned on SPARC processors in 64-bit mode. Previously, these struct values were sometimes passed and returned in the wrong registers, creating binaries that were incompatible with binaries created by gcc. Because this change affects elements of the existing ABI as implemented in the C compiler, if any source file in an application uses structs with complex fields, the entire source base for the application must be recompiled to avoid the possibility of wrong answers. Compiling for 32-bit SPARC processors, and 32-bit or 64-bit x86 processors, is not affected by this change.
Added support for the SPARC VIS3 version of the SPARC-V9 ISA. Compiling with the -xarch=sparcvis3 option enables the compiler to use instructions from the SPARC-V9 instruction set, plus the UltraSPARC and UltraSPARC-III extensions, the fused multiply-add instructions, and the Visual Instruction Set (VIS) version 3.0. (B.2.74 -xarch=isa)
The default for the -xvector option has changed on x86-based systems to -xvector=simd. (B.2.157 -xvector[=a])
Support for the AMD SSE4a instruction set is now available with the -xarch=amdsse4a option. (B.2.74 -xarch=isa)
The -traceback option enables an executable to print a stack trace if a severe error occurs. (B.2.62 -traceback[={%none|common|signals_list}])
The -mt option has been changed to -mt=yes or -mt=no.(B.2.50 -mt[={yes|no}])
The #warning compiler directive issues the text in the directive as a warning and continues compilation. (2.10 Warnings and Errors)
New pragmas does_not_read_global_data, does_not_write_global_data, and no_side_effect. (2.11 Pragmas)
The header file mbarrier.h is now available. It defines various memory barrier intrinsics for multithreaded code on SPARC and x86 processors. (3.9 Memory Barrier Intrinsics)
The -xprofile=tcov option has been enhanced to support an optional profile directory pathname, and the ability to generate tcov-compatible feedback data. (B.2.136 -xprofile=p)
In this release, the dependency file written by the -xMD and -xMMD options overwrites any previously existing file. (B.2.111 -xMD)