HP C/iX Reference Manual (31506-90011)
Chapter 9 159
HP C/iX Implementation Topics
Expressions
Expressions
The value of an expression that overflows or underflows is undefined, except when the
operands are unsigned.
Maximum Number of Dimensions of an Array
Arrays can have up to 252 dimensions.
Scope of extern Declarations
Identifiers for objects and functions declared within a block and with the storage class
extern have the same linkage as any visible declaration with file scope. If there is no
visible declaration with file scope, the identifier has external linkage, and the definition
remains visible until the end of the translation unit.
However, because this is an extension to ANSI C, a warning will be issued on subsequent
uses of the identifier if the absence of this extended visibility could cause a change in
behavior on a port to another conforming implementation.
Conversions Between Floats, Doubles, and Long Doubles
• When a long double is converted to a double or float, or when a double is converted
to a float, the original value is rounded to the nearest representable value of the new
type. If the original value is equally close to two distinct representable values, then the
value chosen is the one with the least significant bit equal to zero.
• Conversions between floating-point types involve a change in the exponent, as well as
the mantissa. It is possible for such a conversion to overflow.
Statements
• The types of switch expressions and their associated case label constants do not need
to match. Integral types can be mixed.