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