По моему опыту, даже обновление компилятора часто ломает код неожиданным образом. Это изменение является языковым изменением. Это серьезное изменение. Каковы шансы, что это не приводит к множеству ошибок, многие из которых могут быть действительно трудными для разработчиков (но легкими для клиента).
Кроме того, я предполагаю, что основная причина, по которой вы используете C вместо C ++, это командный опыт. Еще в 90-х годах мы усвоили сложный способ, которым смешивание ОО и структурированных парадигм вызывает гораздо больше проблем, чем придерживаться одной или другой парадигмы. Если ваша команда не имеет опыта работы с C ++, то они будут смешиваться в самых неподходящих и вызывающих ошибки местах.
Я вполне уверен, что переход на компилятор C ++ окажет огромное негативное влияние на будущее. В долгосрочной перспективе вы, вероятно, выиграете, но это может занять годы.
Лучше всего написать библиотеку строк (на языке C), которая поможет решить проблемы, с которыми вы сталкиваетесь. Затем заставьте своих разработчиков использовать библиотеку. Рассматривали ли вы использование альтернативных безопасных версий функций, таких как snprintf, strncpy и т. Д. Если у вашего компилятора этих функций уже нет, используйте этот интерфейс и напишите свой собственный.
Если вы действительно хотите использовать C ++, сделайте это в следующем проекте. А пока ведите список проблем с этим проектом, чтобы вы могли продать управление, полагая, что C ++ в этом следующем проекте лучше, чем C. Если вы не пишете драйверы устройств или математические алгоритмы, которые легко продать.