стоит посмотреть порядок действий, у Вас в макросе SET_PUMP переменные сперва читаются, а потом записываются, компилятор может это воспринимать как неопределенность, поставте галки ретайн и макрос уберет ошибки
В 1.7 всё нормально было.
И ОЛ не кодесис, здесь своя атмосфера