volarile-переменная может меняться без контроля компилятора, например в прерывании. Что будет если в цикле for она вдруг произвольно изменит значение? А вообще, такое предупреждение обозначает что компилятор не гарантирует порядок выполнения операторов. Лечится разнесением volatile-переменных в отдельные операторы, не более одной на оператор. Разбиением длинного оператора на части.