Си очень простой язык и написать компилятор для него очень легко.
Собственно их и пишут в массовых количествах. К любому процессору есть компилятор Си. Другие языки подтягиваются позже или вообще не подтягиваются.
Про Clang. Ну это же open source. Такие проекты в большинстве случаев разрабатываются очень медленно.
И вообще в таких проектах много тараканов. Люди делают как хотят и что хотят, а не что нужно и важно пользователям.
Пример про gcc. Допустим есть код с функцией и указателем на нее. Превращаем этот указатель на функцию в другой тип (например в функцию принимающую на один аргумент больше). И вызовем функцию по этому указателю.
gcc - выдаст варнинг и НЕ СОЗДАСТ кода. Просто вставит заглушку - упасть тут.
msvc - создаст работающий код (ну да, там стек немного покорежится, но ведь мы этого и хотели)