[an error occurred while processing this directive]
не бубуни, а ? Его "порыв оптимизации" - на самом деле совершенно логичный ход. Первый раз он условие проверил при входе - правильно. Дальше заниматься дурью и проверять это условие он не обязан - она действительно всегда истина с его точки зрения, ибо не volatile переменная НЕ МОЖЕТ модифицироваться "где-то там в прерывании"
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)