Technical information
Operating Precautions for CPDW9X/NT-CDR-V85X, Y-GHS-MULTI-V800
TM
  Customer Notification r20tu0003ed1812  59 
No. a43 
In the expression, n=s.m++ & s.m++, the incrementation is done only once. 
Version Information 
V4.0.5 
Details 
The compiler generates wrong code for n=s.m++ & s.m++. The incrementation is done only once 
after the & operation.. 
Example: 
test.c 
struct data 
{ 
 int m1; 
} str; 
int main(void) 
{ 
 int n = str.m1++ & str.m1++; 
 return n; 
} 
Command Sequence 
ccv850 -Ospace 
ccv850e -Ospace 
Generated Code: 
_main: 
  movhi hi(_str),zero,r11 
  movea lo(_str),r11,ep 
  sld.w 0[ep],r2 
  mov  r2,r10 
  and  r2,r10 
  add  1,r2 
  sst.w r2,0[ep] 
  jmp  [lp] 
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 










