|
VMS Help CC, Messages, VALUEPRES *Conan The Librarian |
Message <Context> the conversion of the unsigned char/short
value "<expression>" to signed int shows one example
of this program's use of value-preserving integral
promotion. This differs from the unsigned-preserving
semantics of some older C compilers.
Description This expression shows one of possibly many places
where this compilation uses value-preserving
semantics for small integer promotions rather than
unsigned-preserving semantics used by some older
compilers. In cases where an unsigned char or
unsigned short int is promoted to an integer, there
are two different ways the convert could happen.
Standard C requires that the type be converted to a
signed int (value-preserving semantics) while some
older compilers will convert to an unsigned int
(unsigned-preserving semantics). The difference in
the choice of int or unsigned int can have an impact
on results of expressions that use the converted
value. The compiler cannot determine whether or not
a particular instance of this usage will cause an
observable behavior difference in the program. For
more information, consult Section 3.2.1.1 of the
Rationale for ANSI C.
User Action Be aware that older, non-standard compilers might
interpret this expression differently.
|
|