Index

Symbols

, 1

#assert, 1, 2

#define, 1

#include

adding header files with, 1

#pragma, 1 - 2, 3 - 4

.profile filename extenstion, 1

// comment indicators

in C99, 1

with -xCC, 1

_ _asm keyword, 1

__'uname -s'_'uname -r', 1, 2, 3

__BUILT_IN_VA_ARG_INCR, 1, 2, 3

__DATE__, 1

__func__, 1

__i386, 1, 2, 3

__lint predefined token, 1

__MATHERR_ERRNO_DONTCARE, 1

__PRAGMA_REDEFINE_EXTNAME, 1

__RESTRICT, 1, 2, 3

__sparc, 1, 2, 3

__sparcv9, 1, 2, 3

__sun, 1, 2, 3

__SUNPRO_C, 1, 2, 3

__SVR4, 1, 2, 3

__TIME__, 1

__unix, 1, 2, 3

_OPENMP, 1

_Pragma, 1

_REENTRANT-lthread, 1

_Restrict, 1

A

accessible documentation, 1

acomp (C compiler), 1

alias disambiguation, 1 - 2

alignment of structures, 1

any level alias disambiguation, 1

arithmetic conversions, 1 - 2

array

declarators per C99, 1

incomplete array types per C99, 1

_ _asm keyword, 1

assembler, 1

assembly in source, 1

#assert, 1, 2

Auto-Read, 1

B

basic level alias disambiguation, 1

basic mode of lint, 1

behavior, implementation-defined, 1 - 2

Binary Interface Descriptors (BIDS), 1

binding

static vs. dynamic, 1

bit-field

as impacted by transition to ISO C, 1

portability of constants assigned to, 1

promotion of, 1

treating as signed or unsigned, 1

bits, in execution character set, 1

bitwise

operations on signed integers, 1

buffering, 1

C

C compiler

changing default dirs searched for libraries, 1

compilation modes and dependencies, 1

compiling a program, 1 - 2

components, 1

driver call to incremental linker, 1

options passed to linker, 1

options summary table, 1

C programming tools, 1

_ _STDC_ _ value under -X, 1

C99

// comment indicators, 1

__func__ support, 1

_Pragma, 1

array declarator, 1

flexible array members, 1

idempotent qualifiers, 1

implicit function declaration in, 1

inline function specifier, 1

list of keywords, 1

mixed declarations and code, 1

type declaration in for loop, 1

type specifier requirement, 1

variable length arrays, 1

case statements, 1

cc compiler options, 1 - 2

-#, 1, 2

-###, 1, 2

-A, 1, 2

-B, 1, 2

-C, 1, 2

-c, 1, 2

-D, 1, 2

-d, 1, 2

-dalign

as part of -fast expansion, 1

syntax, 1

-E, 1, 2

-errfmt, 1, 2

-erroff, 1, 2

-errshort, 1, 2

-errtags, 1, 2

-errwarn, 1, 2

-fast, 1, 2

-fd, 1, 2

-flags, 1

-fnonstd, 1, 2

-fns

as part of -fast expansion, 1

grouped by functionality, 1

syntax, 1

-fprecision, 1, 2

-fround, 1, 2

-fsimple

as part of -fast expansion, 1

grouped by functionality, 1

syntax, 1

-fsingle

as part of -fast expansion, 1

grouped by functionality, 1

syntax, 1

-fstore, 1, 2

-ftrap

as part of -fast expansion, 1

grouped by functionality, 1

syntax, 1

-G, 1, 2

-g, 1, 2

-H, 1, 2

-h, 1, 2

-I, 1, 2

-i, 1, 2

-keeptmp, 1, 2

-KPIC, 1

-Kpic, 1

-L, 1, 2

-l, 1, 2

-mc, 1, 2

-misalign, 1

-misalign2, 1

-mr, 1, 2

-mt, 1, 2

-native, 1

-nofstore

as part of -fast expansion, 1

grouped by functionality, 1

syntax, 1

-O, 1

-o, 1, 2

-P, 1, 2

-p, 1, 2

-Q, 1, 2

-qp, 1

-R, 1, 2

-S, 1, 2

-s, 1, 2

-U, 1, 2

-V, 1, 2

-v, 1, 2

-W, 1, 2

-w, 1, 2

-X, 1, 2

-x386, 1, 2

-x486, 1, 2

-xa, 1

-xalias_level

as part of -fast expansion, 1

examples, 1 - 2

explanation, 1

grouped by functionality, 1

syntax, 1

-xarch

as part of -fast expansion, 1

grouped by functionality, 1

syntax, 1

-xautopar, 1, 2

-xbuiltin

as part of -fast expansion, 1

grouped by functionality, 1

syntax, 1

-xc99, 1

-xcache, 1, 2

-xCC, 1, 2

-xcg, 1, 2

-xchar, 1, 2, 3

-xchar_byte_order, 1, 2

-xcheck, 1, 2, 3

-xchip, 1, 2

-xcode, 1, 2

-xcrossfile, 1, 2

-xcsi, 1, 2

-xdepend

as part of -fast expansion, 1

grouped by functionality, 1

syntax, 1

-xe, 1, 2

-xexplicitpar, 1, 2

-xF, 1

-xhelp, 1, 2

-xildoff, 1, 2

-xildon, 1, 2

-xinline, 1, 2

-xipo, 1, 2

-xlibmieee, 1, 2

-xlibmil

as part of -fast expansion, 1

grouped by functionality, 1

syntax, 1

-xlic_lib, 1, 2

-xlicinfo, 1, 2

-xloopinfo, 1, 2

-xM, 1, 2

-xM1, 1, 2

-xmaxopt, 1, 2

-xmemalign

as part of -fast expansion, 1

grouped by functionality, 1

syntax, 1

-xMerge, 1, 2

-xnativeconnect, 1, 2

-xnolib, 1, 2

-xnolibmil, 1, 2, 3

-xO

grouped by functionality, 1

syntax, 1

-xopenmp, 1, 2

-xP, 1, 2

-xparallel, 1, 2

-xpentium, 1, 2

-xpg, 1, 2

-xprefetch

grouped by functionality, 1

syntax, 1

-xprefetch_level, 1, 2

-xprofile, 1, 2

-xreduction, 1, 2

-xregs, 1, 2

-xrestrict, 1, 2

-xs, 1, 2

-xsafe, 1, 2

-xsb, 1, 2

-xsbfast, 1, 2

-xsfpconst, 1, 2

-xspace, 1, 2

-xstrconst, 1, 2

-xtarget

grouped by functionality, 1

syntax, 1

-xtemp, 1, 2

-xtime, 1, 2

-xtransition, 1, 2

-xtrigraphs, 1, 2

-xunroll, 1, 2

-xvector, 1, 2

-xvpara, 1, 2, 3

-Y, 1, 2

-YA, 1, 2

-YI, 1, 2

-YP, 1, 2

-YS, 1, 2

-Zll, 1, 2

cg (code generator), 1

char

signedness of, 1

storage allocation for, 1

character

bits in set, 1

decimal point, 1

mapping set, 1

multibyte, shift status, 1

set, collation sequence, 1

single-character character constant, 1

source and execution of set, 1

space, 1

testing of sets, 1

clock function, 1

code generator, 1

code optimization

by using -fast, 1

optimizer, 1

with -xO, 1

comments

preventing removal by preprocessor, 1

using // by issuing -xCC, 1

using // in C99, 1

compatibility options, 1, 2

compilers, accessing, 1

consistency checks by lint, 1

const, 1 - 2, 3

constants

promotion of integral, 1

specific to Sun ISO C, 1 - 2

conversion

integers, 1

conversions, 1 - 2

cpp (C preprocessor), 1

cscope, 1 - 2

command-line use, 1 - 2, 3 - 4

editing source files, 1 - 2, 3 - 4, 5 - 6

environment setup, 1 - 2, 3

environment variables, 1

searching source files, 1 - 2, 3, 4 - 5

See also Source Browser

usage examples, 1 - 2, 3 - 4

D

data types

long long, 1

unsigned long long, 1

__DATE__, 1

date and time formats, 1

dbx tool

disable Auto-Read for, 1

initializes faster, 1

symbol table information for, 1

debugging information, removing, 1

decimal-point character, 1

declarators, 1

default

compiler behavior, 1

handling and SIGILL, 1

locale, 1

default dirs searched for libraries, 1

deferred-link messages, 1

#define, 1

diagnostics, format, 1

directives, 1

documentation index, 1

documentation, accessing, 1 - 2

domain errors, math functions, 1

double

storage allocation for, 1

dynamic linking, 1

E

EDITOR, 1, 2

ellipsis notation, 1, 2, 3

enhanced mode of lint, 1

environment variable

EDITOR as used by cscope, 1, 2

LANG, 1

LC_ALL, 1

LC_CTYPE, 1

LD_DEBUG, 1

LD_LIBRARY_PATH, 1

LD_LIBRARY_PATH as used by incremental linker, 1

LD_LIBRARY_PATH_64, 1

LD_OPTIONS, 1

LD_PRELOAD, 1

LD_RUN_PATH, 1

list of Sun specific variables, 1

OMP_DYNAMIC, 1, 2

OMP_NESTED, 1

OMP_NUM_THREADS, 1, 2

OMP_SCHEDULE, 1, 2

PARALLEL, 1, 2, 3

SUN_PROFDATA, 1, 2

SUN_PROFDATA_DIR, 1, 2

SUNPRO_SB_INIT_FILE_NAME, 1

SUNW_MP_THR_IDLE, 1

SUNW_MP_WARN, 1

TCOVDIR, 1

TERM as used by cscope, 1

TZ, 1

VPATH as used by cscope, 1

ERANGE, 1

errno, 1

error messages, 1

adding prefix "error:" to, 1

controlling length for a type mismatch, 1

suppressing in lint, 1

example messages

full relink, 1

ild version, 1

new working directory, 1

out of room, 1

running strip, 1

too many files changed, 1

executable, modifying, 1

expressions, grouping and evaluation in, 1 - 2

F

faster linking and initializing, 1

fbe (assembler), 1

file

padding by incremental linker, 1

filename, .profile extension for, 1

files used by ild, 1

files, temporary, 1

filters for lint, 1

final production code and incremental linker, 1

FIPS 160 standard, 1

Fix and Continue

and ild, 1

linking, 1

float

storage allocation for, 1

float expressions as single precision, 1

floating point, 1

gradual underflows, 1

nonstandard, 1

nonstop, 1

representations, 1

truncation, 1

values, 1

for loop that contains a type declaration, 1

fprintf function, 1

fscanf function, 1

full relink,reasons for, 1

function

clock, 1

fmod, 1

fprintf, 1

fscanf, 1

implicit declaration of, 1

omp_get_num_threads, 1

omp_set_dynamic, 1

prototypes, 1, 2 - 3

prototypes, lint checks for, 1

remove, 1

rename, 1

sunw_mp_register, 1

using varying argument lists, 1 - 2

G

-g

example 1, 1

example 2, 1

global symbols and the incremental linker, 1

gradual underflows, 1

H

hardware architecture, 1

header files

format for #include directives, 1

how to include, 1 - 2

math.h, 1

standard place, 1 - 2

with lint, 1 - 2

how to use the incremental linker, 1

I

i386 predefined token, 1, 2, 3

idempotent qualifier in C99, 1

implementation-defined behavior, 1 - 2

incomplete types, 1 - 2

incremental linker (ILD)

as compared to linker, 1

as part of C compilation system, 1

as used by compiler driver, 1

bypassing with -G, 1

commands

-a, 1

-B, 1

-d, 1

-e, 1

-g, 1

-I, 1

-i, 1

-L, 1

-l, 1

-m, 1

-o, 1

-Q, 1

-R, 1

-s, 1

-t, 1

-u, 1

-V, 1

-xildoff, 1

-xildon, 1

-YP, 1

-z, 1

-z defs, 1

-z i_dryrun, 1

-z i_full, 1

-z i_noincr, 1

-z i_quiet, 1

-z i_verbose, 1

-z nodefs, 1

commands accepted from compiler

-a, 1

-e, 1

-I, 1

-m, 1

-t, 1

-u, 1

environament variables

LD_DEBUG, 1

LD_LIBRARY_PATH_64, 1

LD_OPTIONS, 1

LD_PRELOAD, 1

LD_RUN_PATH, 1

examples, 1 - 2

figure explaining, 1

global symbols, 1

how it works, 1

how to use, 1

impact of changing object files, 1

impact on final production code, 1

introduction, 1

invalidating object files, 1

invoking with -g, 1

limitations, 1

linker commands passed to, 1

overview, 1

performance improvement with -xs, 1

relink messages, 1

relocation records, 1

saved files, 1

See linker

symbol references, 1

timestamps, 1

turning off with -xildoff, 1

turning on with -xildon, 1

unsupported commands

-D, 1

-F, 1

-M, 1

-r, 1

unsupported commands from linker

-B, 1

-b, 1

-G, 1

-h, 1

-z muldefs, 1

-z text, 1

inline expansion templates, 1, 2

inline function specifier for C99, 1

inlining, 1

int

storage allocation for, 1

integers, 1 - 2

integral constants, promotion of, 1

interactive device, 1

internationalization, 1 - 2, 3 - 4

interprocedural analysis pass, 1

invoking the incremental linker, 1

ipo (C compiler), 1

ir2hf (C compiler), 1

iropt (code optimizer), 1

isalnum, 1

isalpha, 1

iscntrl, 1

islower, 1

ISO C vs. K&R C, 1, 2 - 3

ISO/IEC 9899:1990 Programming Language C, 1

ISO/IEC 9899:1999 Programming Language C, 1, 2

ISO/IEC 9899-1990 standard, 1

ISO/IEC 9899-1999 standard, 1

isprint, 1

isupper, 1

J

Java Native Interface, 1

JNI, 1

K

K&R C vs. ISO C, 1, 2 - 3

keywords, 1

list for C99, 1

L

LANG, 1

layout level alias disambiguation, 1

LC_ALL, 1

LC_CTYPE, 1

ld (C compiler), 1

LD_DEBUG, 1

LD_LIBRARY_PATH, 1

LD_LIBRARY_PATH_64, 1

LD_OPTIONS, 1

LD_PRELOAD, 1

LD_RUN_PATH, 1

libfast.a, 1

libraries

default dirs searched by cc, 1

intrinsic name, 1

libfast.a, 1

lint, 1 - 2

llib-lx.ln, 1

renaming shared, 1

shared or non shared, 1

specifying dynamir or static links, 1

library bindings, 1

limit of memory allocation on stack, 1

link, static vs. dynamic, 1

linker

invoking with -G, 1

options not supported by incremental linker, 1

options received from compiler, 1

See incremental linker (ILD)

specifying dynamic or static linking in, 1

suppressing linking with, 1

using in place of incremental linker, 1

lint

basic mode

introduced, 1

invoking, 1

commands

-#, 1

-###, 1

-a, 1

-b, 1

-C, 1

-c, 1

-dirout, 1

-err=warn, 1

-errchk, 1

-errfmt, 1

-errhdr, 1

-erroff, 1

-errtags, 1

-errwarn, 1

-F, 1

-fd, 1

-flagsrc, 1

-h, 1

-I, 1

-k, 1

-L, 1

-l, 1

-m, 1

-n, 1

-Ncheck, 1

-Nlevel, 1

-o, 1

-p, 1

-R, 1

-s, 1

-u, 1

-V, 1

-v, 1

-W, 1

-x, 1

-Xalias_level, 1

-Xarch=v9, 1

-XCC, 1

-Xexplicitpar, 1

-Xkeeptmp, 1

-Xtemp, 1

-Xtime, 1

-Xtransition, 1

-y, 1

consistency checks, 1

diagnostics, 1 - 2

directives, 1 - 2

enhanced mode

introduced, 1

invoking, 1

filters, 1

header files, finding, 1

how lint examines code, 1

introduction to, 1

libraries, 1 - 2

messages

formats of, 1 - 2

message ID (tag), identifying, 1, 2

suppressing, 1

portability checks, 1 - 2

predefined tokens, 1

predefinition, 1

questionable constructs, 1 - 2

recognized cc commands, 1

llib-lx.ln library, 1

local time zone, 1

locale, 1, 2

behavior, 1

default, 1

use of non-conforming, 1

long

storage allocation for, 1

long double, 1

storage allocation for, 1

long int, 1

long long, 1 - 2

arithmetic promotions, 1

passing, 1

representation of, 1

returning, 1

storage allocation for, 1

suffix, 1

value preserving, 1

loops, 1

M

macro expansion, 1

macros

__DATE__, 1

__MATHERR_ERRNO_DONTCARE, 1

__RESTRICT, 1

__TIME__, 1

main

semantics of args, 1

man pages, accessing, 1

MANPATH environment variable, setting, 1

math functions,domain errors, 1

mcs (C compiler), 1

mcs and strip, 1

memory allocation on the stack, 1

message ID (tag), 1, 2

messages

deferred link, 1

error, 1

ild relink, 1

mode, compiler, 1

MP C, 1 - 2

multibyte characters and wide characters, 1 - 2

multiprocessing, 1 - 2

N

Native Connector Tool (NCT), 1

NCT, 1

newline, terminating, 1

nonstop

floating-point arithmetic, 1, 2

null characters not appended to data, 1

NULL, value of, 1

O

object file

impact of changes on incremental linker, 1

invalidated by incremental linker, 1

linking with ld, 1

producing object file for each source file, 1

supressing removal of, 1

OMP_DYNAMIC, 1

OMP_DYNAMIC environment variable, 1

omp_get_num_threads, 1

OMP_NESTED, 1

OMP_NUM_THREADS, 1

OMP_NUM_THREADS environment variable, 1

OMP_SCHEDULE, 1

OMP_SCHEDULE environment variable, 1

omp_set_dynamic, 1

OpenMP

defining the_OPENMP prepeocessor token, 1

how to compile for, 1

implementation specific information, 1

OMP_DYNAMIC environment variable, 1

omp_get_num_threads, 1

OMP_NUM_THREADS environment variable, 1

OMP_SCHEDULE environment variable, 1

omp_set_dynamic, 1

sunw_mp_register, 1

supported version information, 1

-xopenmp command, 1

optimization

by using -xipo, 1

for SPARC, 1

optimizer, 1

specify hardware architecture, 1

with -fast, 1

with -xO, 1

options

compiler, 1 - 2

Incremental Linke Editor ild, 1

lint, 1 - 2

overview of incremental linker, 1

P

padding added to files by incremental linker, 1

padding of structures, 1

PARALLEL, 1, 2, 3

parallelization, 1 - 2

checking for properly parallelized loops with -xvpara, 1

creating a program database with -Zll, 1

finding parallelized loops with -xloopinfo, 1

list of compiler commands for, 1

See also OpenMP

specifying multithread coding with -mt, 1

specifying OpenMP pragmas with -xopenmp, 1

turning on reduction recognition with -xreduction, 1

turning on with -xautopar for multiple processors, 1

with -xexplicitpar, 1

-xparallel macro, 1

pass, name and version of each, 1

PATH environment variable, setting, 1

Pentium, 1

performance

comparison of incremental linker and linker, 1

impact of incremental linker on final production code, 1

improving linker's with -xs, 1

optimizing for SPARC, 1

optimizing with -fast, 1

optimizing with-xO, 1

portability checks performed by lint, 1 - 2

portability, of code, 1 - 2

postopt (C compiler), 1

#pragma alias, 1

#pragma alias_level, 1

#pragma align, 1

#pragma does_not_read_global_data, 1

#pragma does_not_return, 1

#pragma does_not_write_global_data, 1

#pragma error_messages, 1

#pragma fini, 1

#pragma ident, 1

#pragma init, 1

#pragma inline, 1

#pragma int_to_unsigned, 1

#pragma may_not_point_to, 1

#pragma may_piont_to, 1

#pragma MP serial_loop, 1, 2

#pragma MP serial_loop-nested, 1, 2

#pragma MP taskloop, 1, 2

#pragma no_inline, 1

#pragma no_side_effect, 1, 2

#pragma noalias, 1

#pragma nomemorydepend, 1

#pragma opt, 1

#pragma pack, 1

#pragma pipeloop, 1

#pragma rarely_called, 1

#pragma redefine_extname, 1

#pragma returns_new_memory, 1

#pragma unknown_control_flow, 1

#pragma unroll, 1

#pragma weak, 1

preassertions for -Aname, 1

predefined tokens

__'uname -s'_'uname -r', 1, 2, 3

__BUILTIN_VA_ARG_INCR, 1, 2, 3

__i386, 1, 2, 3

__lint, 1

__RESTRICT, 1, 2, 3

__sparc, 1, 2, 3

__sparcv9, 1, 2, 3

__sun, 1, 2, 3

__SUNPRO_C, 1, 2, 3

__SVR4, 1, 2, 3

__unix, 1, 2, 3

i386, 1, 2, 3

lint, 1

sparc, 1, 2, 3

sun, 1, 2, 3

unix, 1, 2, 3

preprocessing, 1 - 2

directives, 1 - 2, 3, 4, 5

how to preserve comments, 1

predefined names, 1

stringizing, 1

token pasting, 1

preserving signedness of chars, 1

printing, 1, 2

profiling with tcov, 1

programming tools for C, 1

promotion, 1 - 2

bit-fields, 1

default arguments, 1

integral constants, 1

value preserving, 1

Q

qualifiers, 1

R

reasons for full relinks, 1

relink messages, 1

remove function, 1

removing symbolic debugging information, 1

rename function, 1

renaming shared libraries, 1

representation

floating point, 1

integers, 1

reserved names, 1 - 2

for expansion, 1

for implementation use, 1

guidelines for choosing, 1

__RESTRICT macro, 1

restrict keyword

as part of supported C99 features, 1

as recognized by -Xs, 1

as type qualifier in parallelized code, 1

as used in parallelized code, 1

right shift, 1

rounding behavior, 1

S

saved files and the incremental linker, 1

setlocale(3C), 1, 2

shared libraries, 1

shared libraries, naming, 1

shared objects as created by incremental linker, 1

shell prompts, 1

short

storage allocation for, 1

signal, 1 - 2

signed, 1

signedness of chars, 1

source files

checking with lint, 1 - 2

compatability of K&R C and ISO C, 1

locating, 1

space characters, 1

sparc predefined token, 1, 2, 3

ssbd (C compiler), 1

stack, memory allocation on, 1

standards conformance, 1, 2

static linking, 1

static scheduling, 1

std level alias disambiguation, 1

storage allocation for types, 1

streams, 1

strict level alias disambiguation, 1

string literals in text segment, 1

strip and mcs, 1

strong level alias disambiguation, 1

structure

alignment, 1

padding, 1

sun predefined token, 1, 2, 3

SUN_PROFDATA, 1, 2

SUN_PROFDATA_DIR, 1, 2

SUNPRO_SB_INIT_FILE_NAME, 1

SUNW_MP_THR_IDLE, 1

symbol references of incremental linker, 1

symbol table for dbx, 1

symbolic debugging information, removing, 1

T

tcov

new style with -xprofile, 1

tcov tool, 1

TCOVDIR, 1

Temporary files, 1

TERM, 1

text

segment and string literals, 1

stream, 1

__TIME__, 1

time and date formats, 1

time to link, 1

timestamps as used by incremental linker, 1

/tmp, 1

TMPDIR environment variable, 1

tokens, 1 - 2

tools for programming with C, 1

trigraph sequences, 1

type-based alias-disambiguation, 1 - 2

types

compatible and composite, 1 - 2

const and volatile qualifier, 1 - 2

declaraions and code, 1

declaration in for loop, 1

incomplete, 1 - 2

specifier requirement in declaration, 1

storage allocation for, 1

typographic conventions, 1

TZ, 1

U

ube (C compiler), 1

ube_ipa (C compiler), 1

underflow, gradual, 1

unix predefined token, 1, 2, 3

unsigned, 1

unsigned long long, 1

using assembly in source, 1

V

value

floating point, 1

integers, 1

varargs(5), 1

variable length arrays in C99, 1

volatile, 1 - 2, 3 - 4, 5

volatile, 1

VPATH, 1

W

warning messages, 1

weak level alias disambiguation, 1

whole-program optimizations, 1

wide character constants, 1 - 2

wide characters, 1 - 2

wide string literals, 1 - 2

write on text stream, 1

Z

-z i_verbose option, 1

zero-length file, 1