LLVM 11
Таки состоялся релиз набора GCC-совместимых инструментов разработки LLVM. В частности, в порядке эксперимента в состав вошёл Flang — фронтэнд для языка Фортран.
Из значимого:
- Начата миграция сборочной системы в сторону использования Python 3. 2-я версия языка, тем не менее, всё ещё поддерживается в качестве «запасного» (fallback) варианта.
- Поддержка восстановления AST, что упрощает поиск ошибок в коде, в том числе и дополнительными утилитами. Пример
- Новые группы предупреждений:
-Wpointer-to-int-cast
,-Wuninitialized-const-reference
и-Wimplicit-const-int-float-conversion
. Последняя включена по умолчанию. - Добавлен набор расширенных целочисленных типов _ExtInt (N), позволяющих создавать типы не кратные степени двойки. Да, теперь можно делать «инты» кратными любому числу!
- Целая куча улучшений в Clang, в частности, новые «фичи» для многих платформ, в том числе x86, ARM и RISC-V, улучшенная производительность, новые функции для работы с OpenCL (и ROCm) и OpenMP.
Полный список изменений, как всегда, в Release Notes:
https://releases.llvm.org/11.0.0/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/flang/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/lld/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/polly/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/projects/libcxx/docs/ReleaseNotes.html
>>> Подробности