[an error occurred while processing this directive]
без модификатора volatile IAR режет код по полному праву, и предупреждать никого не обязан. Разве что когда целую переменную может выкинуть. А что у CV слабый оптимизатор - давно известно, так что кто тут ненужный фанатик - еще вопрос
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)