Более общие компиляторы см. В ответе Д. Торпа. Обычно они этого не делают.
Такие инструменты, тем не менее, используются компаниями, которые обычно перенаправляют компиляторы C, как правило, на новые цели (*), с целевыми конкретными расширениями, чтобы быстро вставлять новые функции безопасным и согласованным способом, а затем запускают некоторый пакет проверки, чтобы результат соответствует.
(*) Подумайте о новых DSP, микроконтроллерах и т. Д.