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
5.2 Using Pragmas for Finer Control
5.2.1 #pragma alias_level level (list)
5.2.1.1 #pragma alias (type, type [, type]...)
5.2.1.2 #pragma alias (pointer, pointer [, pointer]...)
5.2.1.3 #pragma may_point_to (pointer, variable [, variable]...)
5.2.1.4 #pragma noalias (type, type [, type]...)
5.2.1.5 #pragma noalias (pointer, pointer [, pointer]...)
5.2.1.6 #pragma may_not_point_to (pointer, variable [, variable]...)
5.3.1 Struct Pointer Cast of Scalar Pointer
5.3.2 Struct Pointer Cast of Void Pointer
5.3.3 Cast of Struct Field to Structure Pointer
5.3.4 Explicit Aliasing Required
5.4 Examples of Memory Reference Constraints
5.4.1 Example: Levels of Aliasing
5.4.2 Example: Compiling with Different Aliasing Levels
5.4.3 Example: Interior Pointers
5.4.6 Example: Structs of Structs
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
You can use the -xalias_level option to specify one of seven alias levels. Each level specifies a certain set of properties related to the way you use pointers in your C program.
As you compile with higher levels of the -xalias_level option, the compiler makes increasingly extensive assumptions about the pointers in your code. You have greater programming freedom when the compiler makes fewer assumptions. However, the optimizations that result from these narrow assumptions might not result in significant runtime performance improvement. If you code in accordance with the compiler assumptions of the more advanced levels of the -xalias_level option, the resulting optimizations are more likely to enhance runtime performance.
The -xalias_level option specifies which alias level applies to each translation unit. For cases where more detail is beneficial, you can use new pragmas to override whatever alias levels are in effect so that you can explicitly specify the aliasing relationships between individual types or pointer variables in the translation unit.