 |
|
 |
MESC TOOL NEWS:
MESCT-NC30WA-000401D
Please take note of the following problem in using C compiler (with assembler and integrated development environment) NC30WA V.3.20.
-
Versions Concerned
The following versions of C compiler for the M16C/60 and M16C/20 series MCUs:
NC30WA V.3.20 Release 1
NC30WA V.3.20 Release 2
-
Problem
Run-time library function "_i4i2div" may return its operation results with incorrect signs.
- 2.1 Conditions
- This problem occurs if the following two conditions are satisfied at calling the "_i4i2div" function:
- (1)operation long=long/int is performed, and
- (2)a dividend is assigned to a register.
- 2.2 Example
----------------------------------------------------------
main()
{
register long l=1000L;
int i;
:
l=l/i;
}
----------------------------------------------------------
-
Workaround
Temporarily assign a dividend to an auto variable; then perform a divide operation.
[Example]
----------------------------------------------------------
main()
{
register long l=1000L;
int i;
long tmp;
:
tmp=l;
l=tmp/i;
}
----------------------------------------------------------
-
Schedule of Fixing Problem
We plan to fix this problem in our next release.
|
 |