6-16
EPSOn
S5U1C17001C ManUal
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
6 C COMPilEr
6.7 known issues
The following shows the case of bugs recognized in GNU17 C Compiler.
No.1
content of bug
The following compile error occurs, when declaring a huge array( several hundred thousand bytes ).
cc1.exe: out of memory allocating mmmmmmmm bytes after a total of nnnnnnnn bytes
correspondence method
Be small the memory domain which a compiler secures at once by dividing the array and the source code.
reappearance code
unsigned char uc_array[] = { 0x00,0x01, ........ };
int main()
{
※
The size of array is more than several hundred thousand bytes.
cause
This is the error that the memory domain which the compiler has secured becomes insufficient at the time of
compile.
Because the size of the array without dimension is too large.
The same error may occur when compiling the source file with many lines.
No.2
content of bug
The result does not become the right value. Because sign extension of char type variable and addition /
subtraction are carried out at once by optimization.
This bug occurs when all the following conditions are filled.
・
First the value which is more than 128( =0x80 ) is set to the variable which is bigger than char type.
Second substitute the result which addition / subtraction are carried out to this variable for char
type variable.
Last substitute the result which addition / subtraction are carried out to this char type variable
for the variable which is bigger than char type.
Then the error occurs.
・
It is necessary that the result of one of substitution is within 0 - 127.
correspondence method
Declare volatile to char type variable in order not to sign extension and addition / subtraction are carried out
at once by optimization.
reappearance code
signed int big_type_val ;
int main( void )
{
signed char char_val ;
big_type_val = 128 ;
char_val = big_type_val - 1 ;
・・・
(1)
big_type_val = char_val - 1 ;
・・・
(2) // big_type_val should be 126, but is -130.
cause
It is an error by optimization.
The process of (1) & (2) is collected into one and compiled by optimization.
For this reason, sign extension and operation are carried out at once.
Then the result does not become the right value.
Содержание S5U1C17001C
Страница 6: ......
Страница 17: ...1 General S5U1C17001C Manual 1 General ...
Страница 18: ......
Страница 21: ...1 2 Install S5U1C17001C Manual 2 Installation ...
Страница 22: ......
Страница 29: ...3 SoftDev S5U1C17001C Manual 3 Software Development Procedures ...
Страница 30: ......
Страница 103: ...4 SrcFiles S5U1C17001C Manual 4 Source files ...
Страница 104: ......
Страница 121: ...5 IDE S5U1C17001C Manual 5 gnU17 iDE ...
Страница 122: ......
Страница 365: ...6 Compiler S5U1C17001C Manual 6 C Compiler ...
Страница 366: ......
Страница 385: ...7 Library S5U1C17001C Manual 7 library ...
Страница 386: ......
Страница 404: ...7 18 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 7 liBrary THIS PAGE IS BLANK ...
Страница 405: ...8 Assemblr S5U1C17001C Manual 8 assembler ...
Страница 406: ......
Страница 438: ...8 32 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 8 aSSEMBlEr THIS PAGE IS BLANK ...
Страница 439: ...9 Linker S5U1C17001C Manual 9 linker ...
Страница 440: ......
Страница 448: ...9 8 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 9 linkEr THIS PAGE IS BLANK ...
Страница 449: ...10 Debugger S5U1C17001C Manual 10 Debugger ...
Страница 450: ......
Страница 625: ...10 174 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 10 DEBUggEr THIS PAGE IS BLANK ...
Страница 626: ...11 Tools S5U1C17001C Manual 11 Other Tools ...
Страница 627: ......
Страница 695: ...11 68 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 11 OTHEr TOOlS THIS PAGE IS BLANK ...
Страница 696: ...S1C17 Family C Compiler Package Quick Reference Reference ...