[an error occurred while processing this directive]
Вот именно, что могут изменится, о чем он и ПРЕДУПРЕЖДАЕТ он же не говорит, что ошибка, а говорит - ''сделаю, что смогу, но результат не гарантирован'' если вас это раздражает запретите выдавать это предупреждение (например #pragma diag_suppress=...), кстати volatile необязательно связан с прерыванием.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)