JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Studio 12.2: C User's Guide
search filter icon
search icon

Document Information

Preface

1.  Introduction to the C Compiler

2.  C-Compiler Implementation-Specific Information

3.  Parallelizing C Code

4.  lint Source Code Checker

5.  Type-Based Alias Analysis

6.  Transitioning to ISO C

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

D.  Supported Features of C99

E.  Implementation-Defined ISO/IEC C90 Behavior

F.  ISO C Data Representations

G.  Performance Tuning

H.  The Differences Between K&R Solaris Studio C and Solaris Studio ISO C

Index

Numbers and Symbols

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

C

C compiler
changing default dirs searched for libraries, B.1 Option Syntax
compilation modes and dependencies, 2.12 Predefined Names
compiling a program
B.1 Option Syntax
B.1 Option Syntax
components, 1.8 Organization of the Compiler
options passed to linker, B.3 Options Passed to the Linker
C programming tools, 1.9 C-Related Programming Tools
-C
4.3.5 -C filename
B.2.5 -C
-c
4.3.6 -c
B.2.6 -c
C99
// comment indicators, D.1.5 Commenting Code With //
array declarator, D.1.11 Static and Other Type Qualifiers Allowed in Array Declarators
flexible array members, D.1.8 Flexible Array Members
FLT_EVAL_METHOD, D.1.1 Precision of Floating Point Evaluators
__func__ support, D.1.3 __func__ Support
idempotent qualifiers, D.1.9 Idempotent Qualifiers
implicit function declaration in, D.1.6 Disallowed Implicit int and Implicit Function Declarations
inline function specifier, D.1.10 inline Functions
list of keywords, D.1.2 C99 Keywords
mixed declarations and code, D.1.14 Mixed Declarations and Code
_Pragma, D.1.17 _Pragma
Studio compiler implementation of, C.1 Implementation-defined Behavior (J.3 )
type declaration in for loop, D.1.15 Declaration in for-Loop Statement
type specifier requirement, D.1.7 Declarations Using Implicit int
variable length arrays, D.1.12 Variable Length Arrays (VLA):
cache, as used by optimizer, B.2.80 -xcache[=c]
calloc function, C.1.12 Library Functions (J.3.12)
case statements, E.1.12 Statements (G.3.12)
cc command-line options, B.2 The cc Options
-#
A.1.8 Compilation-Mode Options
B.2.1 -#
-###
A.1.8 Compilation-Mode Options
B.2.2 -###
-A
A.1.6 Source-Code Options
B.2.3 -Aname[(tokens)]
-B
A.1.11 Linking and Libraries Options
B.2.4 -B[static|dynamic]
-C
A.1.6 Source-Code Options
B.2.5 -C
-c
A.1.7 Compiled-Code Options
B.2.6 -c
-D, A.1.6 Source-Code Options
-d
A.1.11 Linking and Libraries Options
B.2.8 -d[y|n]
B.2.33 -G
interaction with -G, B.2.33 -G
-E
A.1.6 Source-Code Options
B.2.10 -E
-errfmt
A.1.9 Diagnostic Options
B.2.11 -errfmt[=[no%]error]
-erroff
A.1.9 Diagnostic Options
B.2.13 -erroff[=t]
-errshort
A.1.9 Diagnostic Options
B.2.14 -errshort[=i]
-errtags
A.1.9 Diagnostic Options
B.2.15 -errtags[=a]
-errwarn
A.1.9 Diagnostic Options
B.2.16 -errwarn[=t]
-fast
A.1.1 Optimization and Performance Options
A.1.2 Compile-Time and Link-Time Options
B.2.17 -fast
-fd
A.1.6 Source-Code Options
B.2.18 -fd
-features
A.1.8 Compilation-Mode Options
B.2.19 -features=[v]
-flags, B.2.20 -flags
-flteval
A.1.4 Numerics and Floating Point Options
A.1.13 x86-Specific Options
B.2.21 -flteval[={any|2}]
interaction with FLT_EVAL_METHOD, D.1.1 Precision of Floating Point Evaluators
-fnonstd, A.1.4 Numerics and Floating Point Options
-fns
A.1.4 Numerics and Floating Point Options
B.2.24 -fns[={no|yes}]
as part of -fast expansion, B.2.17 -fast
-fprecision
A.1.4 Numerics and Floating Point Options
A.1.13 x86-Specific Options
B.2.27 -fprecision=p
interaction with -flteval, B.2.21 -flteval[={any|2}]
interaction with FLT_EVAL_METHOD, D.1.1 Precision of Floating Point Evaluators
-fround
A.1.4 Numerics and Floating Point Options
B.2.28 -fround=r
interaction with -xlibmopt, B.2.104 -xlibmopt
-fsimple
A.1.4 Numerics and Floating Point Options
B.2.29 -fsimple[=n]
as part of -fast expansion, B.2.17 -fast
-fsingle
A.1.4 Numerics and Floating Point Options
B.2.30 -fsingle
as part of -fast expansion, B.2.17 -fast
interaction with FLT_EVAL_METHOD, D.1.1 Precision of Floating Point Evaluators
-fstore
A.1.4 Numerics and Floating Point Options
A.1.13 x86-Specific Options
B.2.31 -fstore
-ftrap
A.1.4 Numerics and Floating Point Options
B.2.32 -ftrap=t[,t...]
-G
A.1.11 Linking and Libraries Options
B.2.33 -G
-g
A.1.10 Debugging Options
B.2.34 -g
-H
A.1.6 Source-Code Options
B.2.35 -H
-h
A.1.11 Linking and Libraries Options
B.2.36 -h name
-I
A.1.6 Source-Code Options
B.2.37 -I[-|dir]
-i
A.1.11 Linking and Libraries Options
B.2.38 -i
-include
A.1.6 Source-Code Options
B.2.39 -include filename
-keeptmp
A.1.8 Compilation-Mode Options
B.2.42 -keeptmp
-KPIC, B.2.40 -KPIC
-Kpic, B.2.41 -Kpic
-L
A.1.11 Linking and Libraries Options
B.2.43 -Ldir
-l
A.1.11 Linking and Libraries Options
B.2.44 -lname
-mc
A.1.11 Linking and Libraries Options
B.2.46 -mc
-mr
A.1.11 Linking and Libraries Options
B.2.49 -mr[,string]
-mt, B.2.50 -mt[={yes|no}]
-mt
A.1.2 Compile-Time and Link-Time Options
A.1.5 Parallelization Options
-native, B.2.51 -native
-nofstore
A.1.4 Numerics and Floating Point Options
A.1.13 x86-Specific Options
B.2.52 -nofstore
as part of -fast expansion, B.2.17 -fast
interaction with -flteval, B.2.21 -flteval[={any|2}]
-O, B.2.53 -O
-o
A.1.7 Compiled-Code Options
B.2.54 -o filename
-P
A.1.6 Source-Code Options
B.2.55 -P
-p
A.1.1 Optimization and Performance Options
A.1.2 Compile-Time and Link-Time Options
-Q
A.1.11 Linking and Libraries Options
B.2.57 -Q[y|n]
-qp, B.2.58 -qp
-R
A.1.11 Linking and Libraries Options
B.2.59 -Rdir[:dir]
-S
A.1.7 Compiled-Code Options
B.2.60 -S
-s
A.1.10 Debugging Options
B.2.61 -s
-traceback, B.2.62 -traceback[={%none|common|signals_list}]
-U
A.1.6 Source-Code Options
B.2.63 -Uname
-V
A.1.8 Compilation-Mode Options
B.2.64 -V
-v
A.1.9 Diagnostic Options
B.2.65 -v
-W
A.1.8 Compilation-Mode Options
B.2.66 -Wc,arg
-w
A.1.9 Diagnostic Options
B.2.67 -w
-X
A.1.6 Source-Code Options
A.1.8 Compilation-Mode Options
B.2.68 -X[c|a|t|s]
interaction with FLT_EVAL_METHOD, D.1.1 Precision of Floating Point Evaluators
-xaddr32, B.2.71 -xaddr32[=yes|no]
-xalias_level
A.1.1 Optimization and Performance Options
B.2.72 -xalias_level[=l]
as part of -fast expansion, B.2.17 -fast
examples
5.4 Examples of Memory Reference Constraints
5.4.7 Seventh Example
explanation, 5.1 Introduction to Type-Based Analysis
-xannotate, B.2.73 -xannotate[=yes|no]
-xannotate, A.1.1 Optimization and Performance Options
-xarch
A.1.2 Compile-Time and Link-Time Options
A.1.12 Target-Platform Options
interaction with -flteval, B.2.21 -flteval[={any|2}]
interaction with FLT_EVAL_METHOD, D.1.1 Precision of Floating Point Evaluators
-xautopar
A.1.2 Compile-Time and Link-Time Options
A.1.5 Parallelization Options
B.2.75 -xautopar
-xbinopt
A.1.1 Optimization and Performance Options
B.2.76 -xbinopt={prepare|off}
-xbuiltin
A.1.1 Optimization and Performance Options
B.2.77 -xbuiltin[=(%all|%none)]
as part of -fast expansion, B.2.17 -fast
-xc99
A.1.6 Source-Code Options
A.1.8 Compilation-Mode Options
B.2.79 -xc99[=o]
in math conversions, 2.6.2 Usual Arithmetic Conversions
-xcache, A.1.12 Target-Platform Options
-xCC
A.1.6 Source-Code Options
B.2.78 -xCC
-xchar
A.1.6 Source-Code Options
A.1.8 Compilation-Mode Options
B.2.82 -xchar[=o]
-xchar_byte_order
A.1.3 Data-Alignment Options
B.2.83 -xchar_byte_order[=o]
-xcheck
A.1.5 Parallelization Options
A.1.10 Debugging Options
B.2.84 -xcheck[=o]
-xchip
A.1.12 Target-Platform Options
B.2.85 -xchip[=c]
-xcode
A.1.11 Linking and Libraries Options
B.2.86 -xcode[=v]
-xcsi
A.1.6 Source-Code Options
B.2.88 -xcsi
-xdebugformat
A.1.10 Debugging Options
B.2.89 -xdebugformat=[stabs|dwarf]
-xdepend
A.1.1 Optimization and Performance Options
A.1.3 Data-Alignment Options
A.1.4 Numerics and Floating Point Options
B.2.90 -xdepend=[yes|no]
-xdryrun, B.2.91 -xdryrun
-xe
A.1.9 Diagnostic Options
B.2.92 -xe
-xF
A.1.1 Optimization and Performance Options
B.2.93 -xF[=v[,v...]]
-xhelp
A.1.8 Compilation-Mode Options
B.2.94 -xhelp=f
-xhwcprof
A.1.1 Optimization and Performance Options
A.1.2 Compile-Time and Link-Time Options
B.2.95 -xhwcprof
-xinline
A.1.1 Optimization and Performance Options
B.2.96 -xinline=list
-xipo
A.1.1 Optimization and Performance Options
A.1.2 Compile-Time and Link-Time Options
B.2.98 -xipo[=a]
-xipo_archive
A.1.1 Optimization and Performance Options
B.2.99 -xipo_archive=[a]
-xjobs
A.1.1 Optimization and Performance Options
A.1.8 Compilation-Mode Options
B.2.100 -xjobs=n
-xldscope
2.2 Linker Scoping Specifiers
A.1.11 Linking and Libraries Options
B.2.101 -xldscope={v}
-xlibmieee
A.1.4 Numerics and Floating Point Options
B.2.102 -xlibmieee
-xlibmil
A.1.1 Optimization and Performance Options
B.2.103 -xlibmil
as part of -fast expansion, B.2.17 -fast
-xlibmopt
A.1.1 Optimization and Performance Options
B.2.104 -xlibmopt
as part of -fast expansion, B.2.17 -fast
-xlic_lib, A.1.1 Optimization and Performance Options
-xlicinfo, A.1.14 Licensing Options
-xlinkopt
A.1.1 Optimization and Performance Options
A.1.2 Compile-Time and Link-Time Options
B.2.107 -xlinkopt[=level]
interaction with -G, B.2.107 -xlinkopt[=level]
-xloopinfo
A.1.5 Parallelization Options
B.2.108 -xloopinfo
-xM
A.1.6 Source-Code Options
B.2.109 -xM
-xM1
A.1.6 Source-Code Options
B.2.110 -xM1
-xmaxopt
A.1.1 Optimization and Performance Options
B.2.115 -xmaxopt[=v]
interaction with -xO, B.2.115 -xmaxopt[=v]
-xMD, B.2.111 -xMD
-xmemalign
A.1.2 Compile-Time and Link-Time Options
A.1.3 Data-Alignment Options
B.2.116 -xmemalign=ab
as part of -fast expansion, B.2.17 -fast
-xMerge
A.1.11 Linking and Libraries Options
B.2.114 -xMerge
-xMF, B.2.112 -xMF filename
-xMMD
A.1.6 Source-Code Options
B.2.113 -xMMD
-xmodel
A.1.13 x86-Specific Options
B.2.117 -xmodel=[a]
-xnolib
A.1.11 Linking and Libraries Options
B.2.118 -xnolib
-xnolibmil
A.1.1 Optimization and Performance Options
A.1.11 Linking and Libraries Options
B.2.119 -xnolibmil
-xnolibmopt
A.1.1 Optimization and Performance Options
B.2.120 -xnolibmopt
interaction with -xlibmopt, B.2.104 -xlibmopt
-xO
A.1.1 Optimization and Performance Options
B.2.122 -xO[1|2|3|4|5]
interaction with -xmaxopt, B.2.122 -xO[1|2|3|4|5]
-xopenmp
A.1.2 Compile-Time and Link-Time Options
A.1.3 Data-Alignment Options
A.1.5 Parallelization Options
B.2.123 -xopenmp[=i]
-xP
A.1.6 Source-Code Options
B.2.124 -xP
-xpagesize
A.1.1 Optimization and Performance Options
A.1.2 Compile-Time and Link-Time Options
A.1.10 Debugging Options
B.2.125 -xpagesize=n
-xpagesize_heap
A.1.1 Optimization and Performance Options
A.1.2 Compile-Time and Link-Time Options
A.1.10 Debugging Options
B.2.126 -xpagesize_heap=n
-xpagesize_stack
A.1.1 Optimization and Performance Options
A.1.2 Compile-Time and Link-Time Options
A.1.10 Debugging Options
B.2.127 -xpagesize_stack=n
-xpch
A.1.1 Optimization and Performance Options
A.1.8 Compilation-Mode Options
B.2.128 -xpch=v
-xpchstop
A.1.1 Optimization and Performance Options
A.1.8 Compilation-Mode Options
-xpec, A.1.1 Optimization and Performance Options
-xpec, B.2.130 -xpec[={yes|no}]
-xpentium
A.1.1 Optimization and Performance Options
A.1.13 x86-Specific Options
B.2.131 -xpentium
-xpg
A.1.2 Compile-Time and Link-Time Options
A.1.6 Source-Code Options
B.2.132 -xpg
-xprefetch
A.1.1 Optimization and Performance Options
B.2.133 -xprefetch[=val[,val]]
-xprefetch_auto_type
A.1.1 Optimization and Performance Options
B.2.134 -xprefetch_auto_type=a
-xprefetch_level
A.1.1 Optimization and Performance Options
B.2.135 -xprefetch_level=l
-xprofile
A.1.1 Optimization and Performance Options
A.1.2 Compile-Time and Link-Time Options
B.2.136 –xprofile=p
-xprofile_ircache
A.1.1 Optimization and Performance Options
B.2.137 -xprofile_ircache[=path]
-xprofile_pathmap
A.1.1 Optimization and Performance Options
B.2.138 -xprofile_pathmap
-xreduction
A.1.5 Parallelization Options
B.2.139 -xreduction
-xregs
A.1.12 Target-Platform Options
B.2.140 -xregs=r[,r…]
-xrestrict
A.1.1 Optimization and Performance Options
B.2.141 -xrestrict[=f]
-xs
A.1.10 Debugging Options
B.2.142 -xs
-xsafe
A.1.1 Optimization and Performance Options
B.2.143 -xsafe=mem
-xsfpconst
A.1.4 Numerics and Floating Point Options
B.2.146 -xsfpconst
-xspace
A.1.1 Optimization and Performance Options
B.2.147 -xspace
-xstrconst
A.1.11 Linking and Libraries Options
B.2.148 -xstrconst
-xtarget
A.1.12 Target-Platform Options
B.2.149 -xtarget=t
-xtemp
A.1.8 Compilation-Mode Options
B.2.150 -xtemp=dir
-xtime
A.1.8 Compilation-Mode Options
B.2.152 -xtime
-xtransition
A.1.9 Diagnostic Options
B.2.153 -xtransition
warning for trigraphs, 6.5.1 ISO C Translation Phases
-xtrigraphs
A.1.6 Source-Code Options
B.2.154 -xtrigraphs
-xunroll
A.1.1 Optimization and Performance Options
B.2.155 -xunroll=n
-xustr
A.1.6 Source-Code Options
B.2.156 -xustr={ascii_utf16_ushort|no}
-xvector
A.1.2 Compile-Time and Link-Time Options
A.1.4 Numerics and Floating Point Options
B.2.157 -xvector[=a]
-xvis
A.1.10 Debugging Options
B.2.158 -xvis
-xvpara
A.1.5 Parallelization Options
A.1.9 Diagnostic Options
B.2.159 -xvpara
-Y
A.1.8 Compilation-Mode Options
B.2.160 -Yc, dir
-YA
A.1.8 Compilation-Mode Options
B.2.161 -YA, dir
-YI
A.1.8 Compilation-Mode Options
B.2.162 -YI, dir
-YP
A.1.8 Compilation-Mode Options
B.1 Option Syntax
B.2.163 -YP, dir
-YS
A.1.8 Compilation-Mode Options
B.2.164 -YS, dir
-Zll
A.1.5 Parallelization Options
B.2.165 -Zll
cftime function, 4.3.13 -errsecurity=v
cg (code generator), 1.8 Organization of the Compiler
char, signedness of, B.2.82 -xchar[=o]
character
bits in set, E.1.4.3 (5.2.4.2.1) The number of bits in a character in the execution character set:
decimal point, E.1.15.5 (7.1.1) The decimal-point character:
mapping set, E.1.4 Characters (G.3.4)
multibyte, shift status, E.1.4.2 (5.2.1.2) The shift states used for the encoding of multibyte characters:
set, collation sequence, E.1.15.7 (7.11.4.4) The collation sequence of the execution character set:
single-character character-constant, E.1.13.1 (6.8.1) Whether the value of a single-character character constant in a constant expression that controls conditional inclusion matches the value of the same character constant in the execution character set:
source and execution of set, E.1.4.1 (5.2.1) The members of the source and execution character sets, except as explicitly specified in the Standard:
space, E.1.14.12 (7.9.2) Whether space characters that are written out to a text stream immediately before a new-line character appear when read in:
testing of sets, E.1.14.3 (7.3.1) The sets of characters tested for by the isalnum, isalpha, iscntrl, islower, isprint, and isupper functions:
clock function
C.1.12 Library Functions (J.3.12)
E.1.15.2 (7.12.2.1) The era for the clock function
code generator, 1.8 Organization of the Compiler
code optimization
by using -fast, B.2.17 -fast
optimizer, 1.8 Organization of the Compiler
with -xO, B.2.122 -xO[1|2|3|4|5]
comments
preventing removal by preprocessor, B.2.5 -C
using // by issuing -xCC, B.2.78 -xCC
using // in C99, D.1.5 Commenting Code With //
compatibility options
C Compiler Options Reference
B.2.68 -X[c|a|t|s]
compiler commentary in object file, reading with er_src utility, B.2.77 -xbuiltin[=(%all|%none)]
computed goto, 2.5 Labels as Values
consistency checks by lint, 4.6.1.1 Consistency Checks
const, 6.6 const and volatile
const, 6.12.3 Single Compilation Compatibility
constants
promotion of integral, 6.4.6 Integral Constants
specific to Solaris Studio C ISO C, 2.1.2 Character Constants
specific to Solaris Studio ISO C, 2.1 Constants
conversions
2.6.2 Usual Arithmetic Conversions
2.6.2 Usual Arithmetic Conversions
integers, E.1.5.2 (6.2.1.2) The result of converting an integer to a shorter signed integer, or the result of converting an unsigned integer to a signed integer of equal length, if the value cannot be represented:
cool tools URL, B.2.130 -xpec[={yes|no}]
coverage analysis (tcov), B.2.136 –xprofile=p
cpp (C preprocessor), 1.8 Organization of the Compiler
creat function, 4.3.13 -errsecurity=v
cscope
cscope: Interactively Examining a C Program
cscope: Interactively Examining a C Program
8.2.9 Command-Line Syntax for Editors
command-line use
8.2.2 Step 2: Invoke the cscope Program
8.2.2 Step 2: Invoke the cscope Program
8.2.5 Command-Line Options
8.2.5 Command-Line Options
editing source files
8.2.1 Step 1: Set Up the Environment
8.2.1 Step 1: Set Up the Environment
8.2.4 Step 4: Edit the Code
8.2.4 Step 4: Edit the Code
8.2.9 Command-Line Syntax for Editors
8.2.9 Command-Line Syntax for Editors
environment setup
8.2.1 Step 1: Set Up the Environment
8.2.1 Step 1: Set Up the Environment
8.2.9 Command-Line Syntax for Editors
environment variables
8.2.6 View Paths
8.2.6 View Paths
searching source files
8.1 The cscope Process
8.1 The cscope Process
8.2.1 Step 1: Set Up the Environment
8.2.3 Step 3: Locate the Code
8.2.3 Step 3: Locate the Code
usage examples
8.2 Basic Use
8.2.4 Step 4: Edit the Code
8.2.8 Examples
8.2.8.3 Changing the Value of a Variable