Technical information
Operating Precautions for CPDW9X/NT-CDR-V85X, Y-GHS-MULTI-V800
TM
Customer Notification r20tu0003ed1812 87
No. a79
The compiler emitts the instruction “signed load”, instead of “unsigned load”
Version Information
V4.0.5, V4.0.7, V4.0.7a, V4.2.3
Details:
The compiler emitts a signed load of 8 or 16-bit ‘unsigned’ variables, where it should emitt only
unsigned loads. This issue can be observed in comparisons where an unsigned field of size 8
or 16 is used in a comparison. A ‘field’ is here meant to be a member of a sructure or class, not a
bitfield or a standalone variable. Also arrays are not affected by this.
Example:
int main( void ) {
struct { unsigned char uc ; } s = { 199 } ;
return ( s.uc != 199 );
}
Command Line
ccv850e –c –cpu=v850e -Ospace test.c
Workaround
V4.2.3 users can pass an option “-X3016”, or please use latest release V4.2.4 or later.










