Похоже, у вас большой технический долг. Этот долг будет только увеличиваться, если вы не сделаете что-то. Обе вещи, которые вы упомянули, являются вариантами и рискованными, но в долгосрочной перспективе это риск, на который вам нужно пойти.
Использование обновленного компилятора означает, что вам нужно обновить код для работы в новом компиляторе. Что-то обязательно сломается, но затем проведет рефакторинг частей, которые ломаются. Это позволяет вам мигрировать.
Другой вариант - обновить всю базу кода. Это занимает время, в течение которого вам нужно сохранить 2 копии кода или заморозить старую версию. Замораживание старой версии, вероятно, не вариант.
Я бы порекомендовал использовать обновленный компилятор и исправлять ошибки. Это позволяет добавлять функции при рефакторинге и исправлении текущей кодовой базы.