The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз набора компиляторов LLVM 21"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз набора компиляторов LLVM 21"  +/
Сообщение от opennews (?), 27-Авг-25, 19:06 
После шести месяцев разработки представлен релиз проекта LLVM 21.1.0, развивающего инструментарий (компиляторы, оптимизаторы и генераторы кода), компилирующий программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизаций). Сгенерированный псевдокод может быть преобразован в машинный код для заданной целевой платформы или использован  JIT-компилятором для формирования машинных инструкций непосредственно во время выполнения программы. На базе технологий LLVM проектом развивается компилятор Clang, поддерживающий языки программирования  C, C++ и  Objective-C. Начиная с ветки 18.x проект перешёл на новую схему формирования номеров версий, в соответствии с которой нулевой выпуск ("N.0") используется в процессе разработки, а первая стабильная версия снабжается номером "N.1"...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63783

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от Голдер и Рита (?), 27-Авг-25, 19:06 
> (void)(void)1;

Кто, где и зачем так пишут?🤔😶‍🌫️

Ответить | Правка | Наверх | Cообщить модератору

3. "Релиз набора компиляторов LLVM 21"  +2 +/
Сообщение от Аноним (3), 27-Авг-25, 19:41 
> Устранено неопределённое поведение при (void)(void)1;

Кто и зачем так пишут стандарты, что шаг вправо-влево приводит к UB?

Ответить | Правка | Наверх | Cообщить модератору

8. "Релиз набора компиляторов LLVM 21"  +1 +/
Сообщение от Аноним (8), 27-Авг-25, 20:16 
>Кто

Тебе ФИО нужно?
>зачем

Ну потому что эти люди живут в реальности, где UB - это проблема программиста. Но с тех пор много воды утекло и мир живет в реальности, где UB - это проблема языка.

Ответить | Правка | Наверх | Cообщить модератору

4. "Релиз набора компиляторов LLVM 21"  +1 +/
Сообщение от Аноним (3), 27-Авг-25, 19:41 
> Устранено неопределённое поведение при (void)(void)1;

Кто и зачем так пишут стандарты, что шаг вправо-влево приводит к UB?

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

11. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от A.Stahl (ok), 27-Авг-25, 20:36 
> (void)(void)1;

А что это значит? Я не могу распарсить это выражение.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

16. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от DasKolbass (?), 27-Авг-25, 20:47 
В новости же сказано, что компилятор тоже не понимает для чего это, поэтому неопределённое поведение.
Ответить | Правка | Наверх | Cообщить модератору

27. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от Аноним (8), 27-Авг-25, 21:24 
Это не так работает. UB - это "слишком сложно, непонятно что делать, нужны доп. сведения". А то что в новости - это "хз че это, Васян, фиг разберешься, давай напишем что UB, фиг кто разберется".
Ответить | Правка | Наверх | Cообщить модератору

2. "Релиз набора компиляторов LLVM 21"  +4 +/
Сообщение от Голдер и Рита (?), 27-Авг-25, 19:09 
А вообще, замечательная новость, мы рады, что C/C++ не стоят на месте. 🥰😘🤗
Ответить | Правка | Наверх | Cообщить модератору

14. "Релиз набора компиляторов LLVM 21"  –5 +/
Сообщение от DasKolbass (?), 27-Авг-25, 20:44 
Чему радоваться? Вот если бы это в нашей стране делали компиляторы и языки, то можно было порадоваться
Ответить | Правка | Наверх | Cообщить модератору

38. "Релиз набора компиляторов LLVM 21"  –1 +/
Сообщение от Аноним (38), 27-Авг-25, 23:52 
Так делают, 1С, Глагол, ДРАКОН вот только зачем они нужны остальному миру?
Ответить | Правка | Наверх | Cообщить модератору

5. "Релиз набора компиляторов LLVM 21"  +1 +/
Сообщение от ista011email (?), 27-Авг-25, 19:42 
В Clang 8 внедрили часть стандарта C++ касающуюся модулей. С тех пор уже 13 релизов никак не доделали эту поддержку. Зато бегут реализовывать ещё не одобренный C++26.
Ответить | Правка | Наверх | Cообщить модератору

10. "Релиз набора компиляторов LLVM 21"  +1 +/
Сообщение от 12yoexpert (ok), 27-Авг-25, 20:35 
майки модули высрали - пусть сами и реализуют
Ответить | Правка | Наверх | Cообщить модератору

24. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от ista011email (?), 27-Авг-25, 21:17 
У них то в компиляторе как раз таки реализовано на 100%. А фича реально интересная и удобная. Насколько знаю GCC потихоньку идёт чтобы всё доделать, но там очень медленно. Про движение со стороны CLang не в курсе.
Ответить | Правка | Наверх | Cообщить модератору

28. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от DasKolbass (?), 27-Авг-25, 21:33 
А чем интересная и удобная? Наоборот, это противоестесственно для C++, потому что он не является языком модульного программирования. Организация исходного текста в C++ - блочная, и C++ никогда не откажется от этого, а попытка совместить блочную и модульную архитектуру ведёт к усложнению и неразберихе.
Ответить | Правка | Наверх | Cообщить модератору

30. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от Аноним (30), 27-Авг-25, 22:30 
Идея в том, чтобы избавиться от сишного наследия, которое уже плохо проявляет себя в крупных проектах. Опять же, время сборки ядра Линукса как пример, и все эти бесконечные header-only библиотеки. Быть может, через двадцать лет люди вовсе не будут знать, что такое хедеры. И это хорошо.
Ответить | Правка | Наверх | Cообщить модератору

32. "Релиз набора компиляторов LLVM 21"  +1 +/
Сообщение от Аноним (32), 27-Авг-25, 22:50 
> Опять же, время сборки ядра Линукса как пример, и все эти бесконечные header-only библиотеки.

Э... А как же разделы для экспорта. Насколько я понимаю ничто не мешает делать то же самое использую модули. Модули - только сахар не решающие не одну проблему.

Ответить | Правка | Наверх | Cообщить модератору

33. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от Аноним (33), 27-Авг-25, 22:59 
Это типа как в Паскале, да? Уже не первый раз встречаю такую штуку, когда кто то что то хейтит, а потом вдруг оказывается, что он не прав.
Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

34. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от Аноним (34), 27-Авг-25, 23:40 
А разве Паскаль за модули хейтят? В первую очередь, за некраткость begin-end'ов.
Ответить | Правка | Наверх | Cообщить модератору

39. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от Аноним (39), 28-Авг-25, 00:29 
> за некраткость begin-end'ов

И это проблема у сишников, которые пишут пятикаскадные семиэтажные шаблонные шаблонные идентификаторы длиною длиннее паскалевской программы?

Ответить | Правка | Наверх | Cообщить модератору

13. "Релиз набора компиляторов LLVM 21"  +1 +/
Сообщение от DasKolbass (?), 27-Авг-25, 20:40 
"Разрешено не завершать файл с исходным кодом символом новой строки" -

А что, раньше было такое жёсткое требование? Зачем?

Ответить | Правка | Наверх | Cообщить модератору

18. "Релиз набора компиляторов LLVM 21"  +2 +/
Сообщение от _kp (ok), 27-Авг-25, 20:54 
Не жесткое требоване, но при опечатках в #inclue файлах можно было долго искать место с ошибкой, причем найти в весьма неожиданном файле.
Ответить | Правка | Наверх | Cообщить модератору

26. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от DasKolbass (?), 27-Авг-25, 21:23 
Было бы лучше если бы компилятор после каждого include-включения сам добавлял перевод строки
Ответить | Правка | Наверх | Cообщить модератору

29. "Релиз набора компиляторов LLVM 21"  +1 +/
Сообщение от Аноним (29), 27-Авг-25, 22:29 
Вот flex обычно сегфолтится, если в конце файла нет новой строки.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

40. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от Аноним (39), 28-Авг-25, 00:30 
вся суть сишников в одной фразе :)
Ответить | Правка | Наверх | Cообщить модератору

31. "Релиз набора компиляторов LLVM 21"  +/
Сообщение от Аноним (33), 27-Авг-25, 22:41 
Я нуб. Подскажите, куда копать, чтобы сделать код на gcc с extended asm и всякими другими расширениями совместимым с clang? Extended asm поддерживается? Мб есть какой-то заголовочный файл, где расширения gcc типа __attribute__((packed)) объявляются как какие-то константы. Нашел кстати недоработку в extended asm. Было бы прикольно, если бы можно было вставить сегментный регистр переменной в памяти. Полезно, когда у тебя стек не flat и следовательно есть разница, в каком регистре хранится указатель.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру