Цитата(Чиппер @ Dec 13 2012, 17:06)

Спасибо за подсказку , но вот вопрос что WinAVR считает ошибкой ? Я замечал что он не любит оператор
Goto .
Оператор goto вообще старайтесь не использовать, поверьте, всегда можно обойтись и без него (подробности ищите в инете).
Если включена оптимизация, то компилятор будет убирать из кода куски, которые по его мнению никогда не будут выполнены (даже если вы считаете не так). Подобные ситуации возникают, когда используются обычные переменные вместо volatile или неправильно сформировано условие выполнения кода. Все эти ситуации - это не синтаксические ошибки, поэтому и не определятся как ошибки.
Как вам правильно посоветовал
demiurg_spb, понизьте уровень оптимизации, а еще лучше, отлаживайте свой код с помощью окна дизассемблера.