Hi,
I have the function :
..........................................................................................................
#define L_add(a,b) (_sadd((a),(b)))
#define L_mult(a,b) (_smpy((a),(b)))
#define L_macNs(a,b,c) L_add_c((a),L_mult(b,c))
static inline int32_t c67_dot(int16_t *x, int16_t *y, int len)
{
int32_t dot = 0, i;
for (i = 0; i < len; i++)
L_macNs(dot, x[i], y[i]);
return dot;
}
.............................................................................................................
After compiling the code fot c6727 with cl6x v6.1.9 with the following options :
INCLUDES= -i. -i/usr/ti/csl/dsp/inc -i/usr/ti/inc -i/usr/ti/csl/intc/dsp/inc
DEFINES= -D=C6727 -D=CHIP_6727 -D=CHIP_C6727
CFLAGS = $(DEFINES) $(INCLUDES) -q -pdv -al -pm -ss -k -mw -on2 -mt -mf=5 -mi=0
I've noticed such lines in *.nfo file :
These functions may be recursive: c67_dot
Inlineable function will be suppressed: c67_dot()
So questions are :
1. What does this message means ?
2. Why compiler emits words "may be" ?
3. If the function really treated as recursive - how to avoid this behaviour ?
Thanks in advance