Dear readers,
i am tryng to migrate my project from IAR v5.20 to CCS V6 ,my target is MSP430F2xxx ,when i build my project i found this :
--advice:power=all -g --define=__MSP430F2274__ --diag_warning=225 --diag_wrap=off --display_error_number --printf_support=minimal --preproc_with_compile --preproc_dependency="COMMON/printf.pp" --obj_directory="COMMON" "../COMMON/printf.c"
>> ../COMMON/printf.c, line 135: INTERNAL ERROR: Decomposition error
this where the error appears (line 135)
void tfp_printf(char *fmt, ...)
{
va_list va;
char ch;
char* p;
va_start(va,fmt);
while ((ch=*(fmt++))) {
if (ch!='%') {
putchar(ch);
}
else {
char lz=0;
char w=0;
ch=*(fmt++);
if (ch=='0') {
ch=*(fmt++);
lz=1;
}
if (ch>='0' && ch<='9') {
w=0;
while (ch>='0' && ch<='9') {
w=(((w<<2)+w)<<1)+ch-'0';
ch=*fmt++;
}
}
bf=buf;
p=bf;
zs=0;
switch (ch) {
case 0:
goto abort;
case 'u':
case 'd':
case 'i':
num=va_arg(va, unsigned int);
if (((ch=='d')||(ch=='i')) && (int)num<0) {
num = -(int)num;
out('-');
}
divOut(10000);
divOut(1000);
divOut(100);
divOut(10);
outDgt(num);
break;
case 'x':
case 'X' :
uc= ch=='X';
num=va_arg(va, unsigned int);
divOut(0x1000);
divOut(0x100);
divOut(0x10);
outDgt(num);
break;
case 'c' :
out((char)(va_arg(va, int)));
break;
case 's' :
p=va_arg(va, char*);
break;
case '%' :
out('%');
default:
break;
}
*bf=0;
bf=p; /*----------------------------------------------------------------------------------- line 135 -----------------------------------------------------------------------------*/
while (*bf++ && w > 0)
w--;
while (w-- > 0)
putchar(lz ? '0' : ' ');
while ((ch= *p++))
putchar(ch);
}
}
abort:;
va_end(va);
}
what is the solution of this internal error , any suggestions plz ?
Regards