Цитата(dup(?) @ Dec 18 2015, 10:12)

При переносе проекта из IAR EWARM 5.11 в 7.40 обнаружилось, что последний на код типа
Код
int f(void){
int res;
do{
if(res<1)
return 0;
else
return 1;
}
while(res<1);
}
Выдает:
Internal Error: [CoreUtil/General]: Access violation (0xc0000005) at 00E5D6E2 (reading from address 0x4)
5.11 компилирует молча.
Это у всех так или у меня IAR кривой?
Попробуйте так:
Код
int f(void){
do
{
int res;
do{
if(res<1)
return 0;
else
return 1;
}
while(res<1);
}while(0);
}
Результат работы тот же, но компилятор должен пропустить
т.е. заключить вызывающий ошибку компилятора кусок в замыкание do{}while(0);
Сообщение отредактировал IgorKossak - Dec 20 2015, 15:53
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!