Потому что могут
присоединяюсь к вопросу, должна же быть где-то инфа типа "Motivations"
мб вопрос лицензирования
потому что llvm не может в таргеты псс
кажется что это больше вопрос выбора с чем собирать... если мы возьмем линукс и будем его собирать на gcc и тут вылезет как минимум модуль на расте требующий llvm то это будет очень странно.. 1. раздутое окружение для сборки 2. навязывание llvm 3. неконтролируемая смесь gcc с llvm, и при этом надо обязательно чтобы они оба под нужную платформу собирались и работали
там же был проект по сбору ядра шлангом, и вполне успешный вроде
У меня ядро шлангом собрано
Что странного? Оно так и собирается сейчас в ветке с растом
да, я это тоже я помню. но здесь конкретно кто-то, что-то делает это внутри для gcc наряду с (C++, D, ObjC, Ada, Фортран, ...)
У GCC поддержка разных нестандарнтых платформ лучше, чем у LLVM
ну появление второй полноценной имплементации это просто очень полезно
спорно достаточно посмотреть на количество #ifdef на тип компилятора в сишных/плюсовых кодбазах, чтобы заметить, что наличие нескольких полноценных имплементаций мешает развитию экосистемы
кажется там эти ифдевы в основном для борьбы со старыми компиляторами
не-а даже GCC и Clang достаточно заметно отличаются друг от друга, чтобы это было больно MSVC настолько отличается, что это очень больно
Как минимум имея две реализации, можно гонять тесты и смотреть на разницу на выходе, получая потенциальные баги обоих реализаций
Обсуждают сегодня