Skip Navigation Links | |
Exit Print View | |
Oracle Solaris Studio 12.3: C User's Guide Oracle Solaris Studio 12.3 Information Library |
1. Introduction to the C Compiler
2. C-Compiler Implementation-Specific Information
6.2 New-Style Function Prototypes
6.3 Functions With Varying Arguments
6.4 Promotions: Unsigned Versus Value Preserving
6.4.3 Example: The Use of a Cast
6.4.4 Example: Same Result, No Warning
6.4.6 Example: Integral Constants
6.5 Tokenization and Preprocessing
6.5.1 ISO C Translation Phases
6.5.2 Old C Translation Phases
6.6.2 Type Qualifiers in Derived Types
6.6.5 Examples of volatile Usage
6.7 Multibyte Characters and Wide Characters
6.7.1 Asian Languages Require Multibyte Characters
6.8 Standard Headers and Reserved Names
6.8.2 Names Reserved for Implementation Use
6.8.3 Names Reserved for Expansion
6.10 Grouping and Evaluation in Expressions
6.10.2 K&R C Rearrangement License
6.11.2 Completing Incomplete Types
6.11.6 Examples: Incomplete Types
6.12 Compatible and Composite Types
6.12.2 Separate Compilation Compatibility
6.12.3 Single Compilation Compatibility
6.12.4 Compatible Pointer Types
6.12.6 Compatible Function Types
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. Oracle Solaris Studio C: Differences Between K&R C and ISO C
The ISO C compiler allows both old-style and new-style C code. The compiler provides varying degrees of compliance to the ISO C standard when you use the following -X (note case) options with -xc99=none. -Xa is the default mode. Note that the compiler’s default mode is -xc99=all, so its behavior under each of the -X options depends on the setting of -xc99.
(c = conformance) Maximally conformant ISO C, without K&R C compatibility extensions. The compiler issues errors and warnings for programs that use ISO C constructs.
ISO C plus K&R C compatibility extensions, with semantic changes required by ISO C. Where K&R C and ISO C specify different semantics for the same construct, the compiler issues warnings about the conflict and uses the ISO C interpretation. This is the default mode.
(t = transition) ISO C plus K&R C compatibility extensions, without semantic changes required by ISO C. Where K&R C and ISO C specify different semantics for the same construct, the compiler issues warnings about the conflict and uses the K&R C interpretation.
(s = K&R C) The compiled language includes all features compatible with ISO K&R C. The compiler warns about all language constructs that have differing behavior between ISO C and K&R C.