[an error occurred while processing this directive]
Позвольте, но повторяю, - volatile для этого и вводился. Изменение переменной volatile в любой момент уже ПОДРАЗУМЕВАЕТСЯ. Зачем тогда об этом предупреждать?! А если что-то некорректно, как вы говорите, то тогда это ошибка, а не предупреждение. Да и какая нахрен разница компиллятору что я делаю с volatile переменной? У него одна задача - использовать всегда только её (из одной ячейки памяти), а не плодить копии по своему усмотрению.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)