Epson S5U1C17001C Manual page 384

Cmos 16-bit single chip microcomputer, c compiler package for s1c17 family
Hide thumbs Also See for S5U1C17001C:
Table of Contents

Advertisement

6 C COMPilEr
content of bug
The following compile error occurs.
error: unable to find a register to spill in class
This bug may occur when all the following conditions are filled.
・ Compiled with REGULAR Model or MIDDLE Model.
・ The pointer argument is passed by %r3 register to a function.
・ Referencing the pointer argument passed by %r3 register in a function.
See the compiler package manual "registers for passing arguments" at "6.4.3 Method of Using Registers"
about the allocation of registers for passing arguments.
correspondence method
Don't pass the pointer argument which is cause of the error by %r3 register.
So change the order of parameters, or add the dummy argument.
reappearance code
No.4
void sub( int arg1, int arg2, int arg3, long *arg4 )
{
static long long int num ;
num = *arg4 ;
}
※ In this case the pointer argument 'arg4' is passed by %r3.
So for example, add the dummy argument as follows,
void sub( int arg1, int arg2, int arg3, int dummy, long *arg4 )
{
static long long int num ;
num = *arg4 ;
}
cause
This is compiler internal error when failing to secure registers needed to process.
6-18
EPSOn
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
S5U1C17001C ManUal

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the S5U1C17001C and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Table of Contents