Technical information
Operating Precautions for CPDW9X/NT-CDR-V85X, Y-GHS-MULTI-V800
TM
  Customer Notification r20tu0003ed1812  56 
No. a40 
In the expression, int a %=(1+~(unsigned b)), only the % is done. 
Version Information 
V3.5, V4.0.5 
Details 
Wrong code is generated for int a %= (1 + ~(unsigned b)) 
Example: 
test.c 
void sub(unsigned b) 
{ 
int a = 29970;a%= (1 + ~b);} 
Command Sequence 
ccv850 –Ospace 
ccv850e –Ospace 
Generated ASM-Code: 
-- int a = 29970; 
movea 29970,zero,r17 
-- a%= (1 + ~b); 
divu r6,r17,r2 
Workaround 
A new compiler Version 4.05c, which fixes this problem, can be downloaded from the NEC WEB 
page(s) at http://www.renesas.eu/updates?id=443 










