HPlogo HP C/HP-UX Programmer's Guide: Workstations and Servers

Index

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

A

accessing unaligned data, Accessing Unaligned Data
address 0, reading and writing, Dereferencing Null Pointers
aggregates, Comparing HP C and HP Pascal
aliasing options
optimization, Aliasing Options
Alignment
structures, Aligning Structures Between Architectures
alignment, Data Storage and Alignment
bit-field, Alignment of Bit-Fields
bus errors, Data Alignment
categories, Data Type Size and Alignments
DOMAIN_NATURAL, Data Type Size and Alignments, The HP_ALIGN Pragma
DOMAIN_WORD, Data Type Size and Alignments, The HP_ALIGN Pragma
HP 3000 Series 900, HP C/HP-UX 9000 Workstations and Servers and HP C/iX
HP 9000 workstations and servers, HP C/HP-UX 9000 Workstations and Servers and HP C/iX
HPUX_NATURAL, Data Type Size and Alignments, The HP_ALIGN Pragma
HPUX_NATURAL_S500, The HP_ALIGN Pragma
HPUX_WORD, Data Type Size and Alignments, The HP_ALIGN Pragma
NATURAL, Data Type Size and Alignments, The HP_ALIGN Pragma
NOPADDING, The HP_ALIGN Pragma
porting between HP architectures, Aligning Structures Between Architectures
scalar, Alignment of Scalar Types
typedef, Alignment of Typedefs
alignment, checking with lint, Checking for Alignment Problems with lint
ALLOCS_NEW_MEMORY pragma, Alias Pragmas, ALLOCS_NEW_MEMORY pragma
allow_unaligned_data_access(), Accessing Unaligned Data
ANSI C
function prototypes, ANSI Mode Function Prototypes, Mixing Old-Style Function Definitions with ANSI Function Declarations
silent changes, Silent Changes for ANSI C
ANSI mode, ANSI Mode Compile Option (-Aa)
apex command, Checking for Standards Compliance
application migration, Migrating an Application
arrays
HP C and FORTRAN 77, Notes on HP C and HP FORTRAN 77
HP C and Pascal, Notes on HP C and HP Pascal
size and alignment, Alignment of Arrays
asm keyword, Unsupported Keywords
auto variables in C, Variable Initialization

B

BFMT COFF predefined macro, Porting between HP C and Domain/C
bit-fields, Notes on HP C and HP Pascal
alignment, Alignment of Bit-Fields
declared without signed keyword, Silent Changes for ANSI C
declared without unsigned keyword, Silent Changes for ANSI C
HP 9000 workstations and servers HP C, Bit-Fields
Series 300/400 HP C, Bit-Fields
VAX/VMS C, VAX/VMS C, Bit-Fields
bit-fields in C, Bit-Fields, Core Language Features
bit-fields, checking alignment, Checking for Alignment Problems with lint
block scope, Silent Changes for ANSI C
boolean variables, Notes on HP C and HP Pascal
branch optimization, Branch Optimization
bus error, Accessing Non-Natively Aligned Data with Pointers
bus error handling in C, Accessing Unaligned Data
byte order, Byte Order

C

C
+O2 option, Core Language Features
-z option, Dereferencing Null Pointers
bit-fields, Bit-Fields, Core Language Features
calls to FORTRAN, Calling FORTRAN
calls to Pascal, Calling Pascal
casting pointer types, Casting Pointer Types
char data type, The char Data Type
data alignment, Casting Pointer Types
data types, comparison to Pascal and FORTRAN, Calling Other Languages
division by zero, Floating-Point Exceptions
enum bit-fields, Bit-Fields
expression evaluation, Expression Evaluation
identifiers, Identifiers
include files, Isolating System-Dependent Code with include Files
input/output routines, Input/Output
int data type, Conversions between unsigned char or unsigned short and int
integer overflow, Integer Overflow
null pointers, Dereferencing Null Pointers
porting to Domain/C, Porting between HP C and Domain/C
porting to/from VMS, Porting between HP C and VMS C
predefined symbols, Conditional Compilation, Predefined Symbols
preprocessor (cpp), Conditional Compilation
register storage class, Register Storage Class, Core Language Features
sizeof operator, The sizeof Operator
structure assignment, Structure Assignment
structure-valued functions, Structure-Valued Functions
temporary files, Temporary Files ($TMPDIR)
TMPDIR variable, Temporary Files ($TMPDIR)
typedef keyword, Type Incompatibilities and typedef
unsigned char converted to int, Conversions between unsigned char or unsigned short and int
unsigned char data type, The char Data Type
unsigned short converted to int, Conversions between unsigned char or unsigned short and int
variable initialization, Variable Initialization
calling other languages, Comparing HP C and HP Pascal
casting, Data Alignment
casting pointer types in C, Casting Pointer Types
cb, HP Specific Features of lex and yacc
CCS/C storage and alignment, CCS/C on the HP 1000 and HP 3000
cflow, HP Specific Features of lex and yacc
char data type in C, The char Data Type, Core Language Features
character constants in VMS C, Core Language Features
comparing storage and alignment, Examples of Structure Alignment on Different Systems
compiler options
+df, Maintaining Profile Data Files
+e, HP C Extensions to ANSI C (+e)
+pgm, Maintaining Instrumented and Optimized Program Files
+r, Passing Parameters Between HP C and HP Pascal
+ubytes, Accessing Non-Natively Aligned Data with Pointers
+w1, Data Alignment
-Aa, Guidelines for Portability, ANSI Mode Compile Option (-Aa)
+Opipeline, Prerequisites of Pipelining
conditional branches, Branch Optimization
conditional compilation in C, Conditional Compilation
const keyword, const and volatile Qualifiers, Mixing of const and volatile Qualifiers and Function Prototypes
corresponding types, Comparing Structured Data Type Declarations
cpp, HP Specific Features of lex and yacc
cpp preprocessor, Conditional Compilation
ctags, HP Specific Features of lex and yacc
curses(3X), Compiler Environment
cxref, HP Specific Features of lex and yacc

D

D_floating VMS format, Core Language Features
data alignment, Data Type Size and Alignments, Alignment of Arrays, Data Alignment
data file migration, Byte Order
data storage, Data Storage and Alignment
data type alignment in C, Casting Pointer Types
data type alignment, ensuring without pragmas in C, Ensuring Alignment without Pragmas
data, global, Passing Parameters Between HP C and HP Pascal
DATE predefined names, Porting between HP C and Domain/C
dead code elimination, Dead Code Elimination
declarations, Guidelines for Portability
define preprocessor statement, Guidelines for Portability
dereferencing null pointers in C, Dereferencing Null Pointers
descriptor, string, Notes on HP C and HP Pascal, Notes on HP C and HP FORTRAN 77
division by zero in C, Floating-Point Exceptions
Domain/C, Porting between HP C and Domain/C
DOMAIN_NATURAL alignment, Data Type Size and Alignments, The HP_ALIGN Pragma
DOMAIN_WORD alignment, Data Type Size and Alignments, The HP_ALIGN Pragma

E

end padding of structures, Checking for Alignment Problems with lint
entry keyword, Unsupported Keywords
enum bit-fields in C, Bit-Fields
enum data type in C, Core Language Features
error messages, HP C Online Help
escape sequence, hexadecimal, Hexadecimal Escape Sequence
expression evaluation in C, Expression Evaluation
extensions to ANSI C, HP C Extensions to ANSI C (+e)
external names, Leading Underscore

F

F_floatin VMS format, Core Language Features
files
passing files between C and FORTRAN, Mixing C and FORTRAN File I/O
FLOAT_TRAPS_ON pragma, FLOAT_TRAPS_ON pragma
floating-point
conversion from float to int, Overflow During Conversion from Floating Point to Integral Type
types for C, Core Language Features
VMS formats in memory, Core Language Features
floating-point exceptions, Floating-Point Exceptions, Overflow During Conversion from Floating Point to Integral Type
floating-point expressions with float parameters, Silent Changes for ANSI C
floating-point instructions, Instruction Scheduler
floating-point representation, Floating-Point Format
flow.data file, Maintaining Profile Data Files
FMA, +O[no]fltacc
FMPYFADD, +O[no]fltacc
FMPYNFADD, +O[no]fltacc
FORTRAN
calling from C, Calling FORTRAN
FORTRAN 77, Comparing HP C and HP Pascal
$ALIAS directive, Passing Parameters Between HP C and HP FORTRAN 77
compared with HP C, Comparing HP C and HP FORTRAN 77, Notes on HP C and HP FORTRAN 77
file I/O, Mixing C and FORTRAN File I/O
linking, Linking HP FORTRAN 77 Routines on HP-UX
passing parameters with HP C, Passing Parameters Between HP C and HP FORTRAN 77
READ statement, Mixing C and FORTRAN File I/O
fortran keyword, Unsupported Keywords
function declaration, Notes on HP C and HP Pascal
function prototypes, ANSI Mode Function Prototypes, Mixing Old-Style Function Definitions with ANSI Function Declarations
functions, invoking, Comparing HP C and HP Pascal
fused multiply-add, +O[no]fltacc
fusing, +O[no]fltacc
fwrite(3) library call, Input/Output

I

identifiers in C, Identifiers, Core Language Features
include files, Migrating an Application
include files and portability, Isolating System-Dependent Code with include Files
inconsistent parameter list declaration, Mixing Old-Style Function Definitions with ANSI Function Declarations
indexing arrays, Notes on HP C and HP Pascal
INLINE pragma, Inlining Pragmas
input/output in C, Input/Output
instruction scheduler, Instruction Scheduler
integer constants, unsuffixed, Silent Changes for ANSI C
integer overflow in C, Integer Overflow
internal padding of structures, Checking for Alignment Problems with lint

L

languages, calling other, Comparing HP C and HP Pascal
leading underscore in identifier, Leading Underscore
level 1 optimization, Level 1 Optimization Modules
level 2 optimization, Level 2 Optimization Modules
level 3 optimization, Level 3 Optimizations
level 4 optimization, Level 4 Optimizations
lex, HP Specific Features of lex and yacc
library functions, Library Functions
linking
HP FORTRAN 77 on HP-UX, Linking HP FORTRAN 77 Routines on HP-UX
HP Pascal on HP-UX, Linking HP Pascal Routines on HP-UX
lint, Parameter Lists, HP Specific Features of lex and yacc
lint C program checker, Guidelines for Portability, Migrating an Application
lint, checking alignment with, Checking for Alignment Problems with lint
lint, checking for standards compliance, Checking for Standards Compliance
loop optimization, Register Reassociation

O

online help, HP C Online Help
OPT_LEVEL pragma, Optimizer Control Pragmas
optimization
+ESfic option, Supporting Optimization Options
+ESlit option, Supporting Optimization Options
+I option, Supporting Optimization Options
+Oaggressive option, Changing the Aggressiveness of Optimizations
+Oconservative option, Changing the Aggressiveness of Optimizations
+Oinline_budget, +Oinline_budget[=n]
+P option, Supporting Optimization Options
advanced features, Controlling Specific Optimizer Features
aliasing options, Aliasing Options
branch, Branch Optimization
dead code elimination, Dead Code Elimination
instruction scheduling, Instruction Scheduler
level 0, Summary of Major Optimization Levels
level 1, Summary of Major Optimization Levels, Level 1 Optimization Modules
level 2, Summary of Major Optimization Levels, Level 2 Optimization Modules
level 3, Summary of Major Optimization Levels, Level 3 Optimizations
level 4, Summary of Major Optimization Levels, Level 4 Optimizations
loop, Register Reassociation
+Odataprefetch, +O[no]dataprefetch, +O[no]entrysched, +O[no]fail_safe, +O[no]fastaccess, +O[no]fltacc, +O[no]global_ptrs_unique [=name1,name2, ...nameN], +O[no]initcheck, +O[no]inline[=name1, name2, ...nameN], +O[no]libcalls, +O[no]loop_transform, +O[no]loop_unroll[=unroll factor], +O[no]moveflops, +O[no]parallel, +O[no]parmsoverlap, +O[no]pipeline, +O[no]procelim, +O[no]ptrs_ansi, +O[no]ptrs_strongly_typed, +O[no]ptrs_to_globals[=name1, name2, ...nameN], +O[no]regionsched, +O[no]regreassoc, +O[no]sideeffects=[name1, name2, ...nameN], +O[no]signedpointers, +O[no]static_prediction, +O[no]vectorize, +O[no]volatile, +O[no]whole_program_mode
parameters, Summary of Optimization Parameters
peephole, Peephole Optimizations
register allocation, Faster Register Allocation
OPTIMIZE pragma, Optimizer Control Pragmas, Optimizer Control Pragmas
optimizer
using register qualifier variables, Coloring Register Allocation
order, byte, Byte Order

P

padding, Defining Platform Independent Data Structures
HP 1000, CCS/C on the HP 1000 and HP 3000
HP 3000, CCS/C on the HP 1000 and HP 3000
HP-UX workstation and server padding, HP C/HP-UX 9000 Workstations and Servers and HP C/iX
VAX/VMS C, VAX/VMS C
padding bytes in C structures, Ensuring Alignment without Pragmas
parameter passing, Comparing HP C and HP Pascal
formal and actual parameters, Type Differences between Actual and Formal Parameters
HP FORTRAN 77, Passing Parameters Between HP C and HP FORTRAN 77
HP Pascal, Passing Parameters Between HP C and HP Pascal
parameter passing in C, Parameter Lists
Pascal
calling from C, Calling Pascal
compared to HP C, Comparing HP C and HP Pascal, Notes on HP C and HP Pascal
linking, Linking HP Pascal Routines on HP-UX
passing parameters with HP C, Passing Parameters Between HP C and HP Pascal
storage allocation, Comparing HP C and HP Pascal
variant record, Notes on HP C and HP Pascal
passing by value, Comparing HP C and HP Pascal, Passing Parameters Between HP C and HP Pascal
passing parameters, Passing Parameters Between HP C and HP Pascal
HP FORTRAN 77, Passing Parameters Between HP C and HP FORTRAN 77
pcc (Portable C Compiler), Guidelines for Portability
pointer casting in C, Casting Pointer Types
pointers, Accessing Non-Natively Aligned Data with Pointers
misaligned, Data Alignment
portability, Defining Platform Independent Data Structures, Aligning Structures Between Architectures, Guidelines for Portability
pragma
INLINE, Inlining Pragmas
pragmas
ALLOCS_NEW_MEMORY, ALLOCS_NEW_MEMORY pragma
FLOAT_TRAPS_ON, FLOAT_TRAPS_ON pragma
HP_ALIGN pragma, The HP_ALIGN Pragma
PTRS_STRONGLY_TYPED, [NO]PTRS_STRONGLY_TYPED Pragma
NO_SIDE_EFFECTS, Alias Pragmas, NO_SIDE_EFFECTS Pragma
NOINLINE, Inlining Pragmas
OPT_LEVEL, Optimizer Control Pragmas
OPTIMIZE, Optimizer Control Pragmas, Optimizer Control Pragmas
predefined symbols in C, Conditional Compilation, Predefined Symbols
preprocessor, Predefined Macro Names
preprocessor directives from Domain/C, Porting between HP C and Domain/C
preprocessor statements, Guidelines for Portability
profile-based optimization
+df option, Maintaining Profile Data Files
+pgm option, Maintaining Instrumented and Optimized Program Files
flow.data file, Maintaining Profile Data Files
program checker, lint, Guidelines for Portability
programming languages, calling other, Comparing HP C and HP Pascal
promotion rules
unsigned char, Silent Changes for ANSI C
unsigned short, Silent Changes for ANSI C
PWB macro, Predefined Macro Names

R

READ statements, Mixing C and FORTRAN File I/O
readonly VMS C class modifier, Core Language Features
references, structure, Invalid Structure References
register allocation, Faster Register Allocation
register qualifier variables, Coloring Register Allocation
register reassociation, Register Reassociation
register storage class in C, Register Storage Class, Core Language Features
renaming flow.data file during profile-based optimization, Maintaining Profile Data Files

S

scalar
alignment, Alignment of Scalar Types
scheduler, instruction, Instruction Scheduler
segment violation, Dereferencing Null Pointers
Series 300/400 alignment, HP C on the Series 300/400
SIGFPE signal, Floating-Point Exceptions, Overflow During Conversion from Floating Point to Integral Type
signal system call, Floating-Point Exceptions, Overflow During Conversion from Floating Point to Integral Type
SIGSEGV signal, Dereferencing Null Pointers
sized enumerations, HP C on the Series 300/400, Practices to Avoid, HP C Extensions to ANSI C (+e)
sizeof operator in C, The sizeof Operator
space, white, White Space
stdarg, Parameter Lists
storage
CCS/C, CCS/C on the HP 1000 and HP 3000
VAX/VMS C, VAX/VMS C
storage allocation
FORTRAN 77, Comparing HP C and HP FORTRAN 77
HP Pascal, Comparing HP C and HP Pascal
string constants in VMS C, Core Language Features
string descriptor, Notes on HP C and HP Pascal, Notes on HP C and HP FORTRAN 77
string variables, Passing Parameters Between HP C and HP FORTRAN 77
strings
HP C structure corresponding to Pascal string, Notes on HP C and HP Pascal
passed as parameter between HP C and Pascal, Passing Parameters Between HP C and HP Pascal
passed as parameters to other languages, Comparing HP C and HP Pascal
structure assignment in C, Structure Assignment
structure-value functions in C, Structure-Valued Functions
structures
accessing non-natively aligned data, Accessing Non-Natively Aligned Data with Pointers
alignment within, Alignment of Arrays
declared in a function prototype, Declaration of a Structure in a Prototype Parameter
HP C compared to FORTRAN 77 and Pascal, Comparing Structured Data Type Declarations
referencing through pointers, Invalid Structure References
structures in VMS C, Core Language Features
subscripting arrays, Notes on HP C and HP Pascal
swab function, Byte Order
swap bytes, Byte Order
SYS$LIBRARY on VMS, Compiler Environment

T

temporary files in C, Temporary Files ($TMPDIR)
TIME predefined names, Porting between HP C and Domain/C
TMPDIR environment variable and C, Temporary Files ($TMPDIR)
tools, HP Specific Features of lex and yacc
trigraphs, Silent Changes for ANSI C
type aliasing options, Aliasing Options
type casting pointers in C, Casting Pointer Types
type definitions, Accessing Non-Natively Aligned Data with Pointers, Typedefs
type incompatibilities in C, Type Incompatibilities and typedef
typedef
alignment, Alignment of Typedefs
typedef keyword in C, Type Incompatibilities and typedef
typedef keyword in VMS C, Core Language Features
types, Comparing Structured Data Type Declarations

U

U_INIT_TRAPS Pascal procedure, Calling Pascal
unaligned data, accessing, Accessing Unaligned Data
unconditional branches, Branch Optimization
undef preprocessor directive, Predefined Macro Names
underscore in identifier, Leading Underscore
union, Notes on HP C and HP Pascal, Guidelines for Portability
unix macro, Predefined Macro Names
unix symbol, Predefined Symbols, Preprocessor Features
unsigned C modifier, Core Language Features
unsigned char conversion to int, Conversions between unsigned char or unsigned short and int
unsigned char data type in C, The char Data Type
unsigned preserving, Conversions between unsigned char or unsigned short and int
unsigned short conversion to int, Conversions between unsigned char or unsigned short and int

V

value preserving, Conversions between unsigned char or unsigned short and int
value, passing by, Comparing HP C and HP Pascal
varargs, Parameter Lists, Compiler Environment
variable argument lists, Parameter Lists
variable initialization in C, Variable Initialization
variable shifts in ANSI C, Silent Changes for ANSI C
variables
boolean, Notes on HP C and HP Pascal
string, Passing Parameters Between HP C and HP FORTRAN 77
VAX, Byte Order
floating-point format, Floating-Point Format
pcc, Guidelines for Portability
VMS C, VAX/VMS C
VMS C padding, VAX/VMS C
VMS C
char, Core Language Features
character constants, Core Language Features
compiler environment, Compiler Environment
D_floating format, Core Language Features
data types and alignments, Core Language Features
enum, Core Language Features
F_floating format, Core Language Features
floating-point formats in memory, Core Language Features
floating-point types, Core Language Features
G_floating format, Core Language Features
globaldef, Core Language Features
globalref, Core Language Features
globalvalue, Core Language Features
identifiers, Core Language Features
main program modifier, Core Language Features
noshare, Core Language Features
overview, Porting between HP C and VMS C
preprocessor features, Preprocessor Features
readonly, Core Language Features
string constants, Core Language Features
structure alignment, Core Language Features
SYS$LIBRARY, Compiler Environment
typedef keyword, Core Language Features
uninitialized pointers, Core Language Features
unsigned, Core Language Features
varargs(5), Compiler Environment
void, Core Language Features
void data type in C, Core Language Features
volatile keyword, const and volatile Qualifiers, Mixing of const and volatile Qualifiers and Function Prototypes
vprintf(3) library call, Parameter Lists

W

white space trailing macros, White Space
write(2) system call, Input/Output
© Hewlett-Packard Development Company, L.P.