Цитата(boez @ Jan 22 2007, 11:46)

Какая версия CW? Советую обновить до 1.6, лучше build 3. Помогает. При уровне О1 тоже падает?
1.6 build 3, но после лечения стало build 2.
Но как я понимаю gcc там осталось из пакета build 3.
Падает при всех уровнях оптимизации. Одну из ошибок я когда нашёл (когда первый раз с этим столкнулся). Затыкалось на такой конструкции:
Код
if((uip_connr->tcpstateflags != CLOSED) &&
(BUF->destport == uip_connr->lport) &&
(BUF->srcport == uip_connr->rport) &&
(BUF->srcipaddr[0] == uip_connr->ripaddr[0]) &&
(BUF->srcipaddr[1] == uip_connr->ripaddr[1])) {
goto found;
}
Когда я каждое сравнение сделал отдельно в отдельные переменные, а потом их сравнил и поставил в if система у меня прошла эту конструкцию (тогда я пробовал только на уровне оптимизации 1).
Когда дойдут руки, надо будет поискать ещё куски кода где затыкается
Цитата(boez @ Jan 22 2007, 11:46)

Какая версия CW? Советую обновить до 1.6, лучше build 3. Помогает. При уровне О1 тоже падает?
1.6 build 3, но после лечения стало build 2.
Но как я понимаю gcc там осталось из пакета build 3.
Падает при всех уровнях оптимизации. Одну из ошибок я когда нашёл (когда первый раз с этим столкнулся). Затыкалось на такой конструкции:
Код
if((uip_connr->tcpstateflags != CLOSED) &&
(BUF->destport == uip_connr->lport) &&
(BUF->srcport == uip_connr->rport) &&
(BUF->srcipaddr[0] == uip_connr->ripaddr[0]) &&
(BUF->srcipaddr[1] == uip_connr->ripaddr[1])) {
goto found;
}
Когда я каждое сравнение сделал отдельно в отдельные переменные, а потом их сравнил и поставил в if система у меня прошла эту конструкцию (тогда я пробовал только на уровне оптимизации 1).
Когда дойдут руки, надо будет поискать ещё куски кода где затыкается