![]() |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Релиз набора компиляторов 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"... | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения | [Сортировка по ответам | RSS] |
1. Сообщение от Голдер и Рита (?), 27-Авг-25, 19:06 | +/– | ![]() |
> (void)(void)1; | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #3, #11, #41 |
2. Сообщение от Голдер и Рита (?), 27-Авг-25, 19:09 | +4 +/– | ![]() |
А вообще, замечательная новость, мы рады, что C/C++ не стоят на месте. 🥰😘🤗 | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #14 |
3. Сообщение от Аноним (3), 27-Авг-25, 19:41 | +4 +/– | ![]() |
> Устранено неопределённое поведение при (void)(void)1; | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #1 Ответы: #8 |
5.
Сообщение от ista011![]() | +1 +/– | ![]() |
В Clang 8 внедрили часть стандарта C++ касающуюся модулей. С тех пор уже 13 релизов никак не доделали эту поддержку. Зато бегут реализовывать ещё не одобренный C++26. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #10 |
8. Сообщение от Аноним (8), 27-Авг-25, 20:16 | +2 +/– | ![]() |
>Кто | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #3 |
10. Сообщение от 12yoexpert (ok), 27-Авг-25, 20:35 | +1 +/– | ![]() |
майки модули высрали - пусть сами и реализуют | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #5 Ответы: #24 |
11. Сообщение от A.Stahl (ok), 27-Авг-25, 20:36 | +/– | ![]() |
> (void)(void)1; | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #1 Ответы: #16 |
13. Сообщение от DasKolbass (?), 27-Авг-25, 20:40 | +1 +/– | ![]() |
"Разрешено не завершать файл с исходным кодом символом новой строки" - | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #18, #29, #42 |
14. Сообщение от DasKolbass (?), 27-Авг-25, 20:44 | –8 +/– | ![]() |
Чему радоваться? Вот если бы это в нашей стране делали компиляторы и языки, то можно было порадоваться | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #2 Ответы: #38, #43, #46 |
16. Сообщение от DasKolbass (?), 27-Авг-25, 20:47 | +1 +/– | ![]() |
В новости же сказано, что компилятор тоже не понимает для чего это, поэтому неопределённое поведение. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #11 Ответы: #27 |
18. Сообщение от _kp (ok), 27-Авг-25, 20:54 | +2 +/– | ![]() |
Не жесткое требоване, но при опечатках в #inclue файлах можно было долго искать место с ошибкой, причем найти в весьма неожиданном файле. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #13 Ответы: #26 |
24.
Сообщение от ista011![]() | +/– | ![]() |
У них то в компиляторе как раз таки реализовано на 100%. А фича реально интересная и удобная. Насколько знаю GCC потихоньку идёт чтобы всё доделать, но там очень медленно. Про движение со стороны CLang не в курсе. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #10 Ответы: #28 |
26. Сообщение от DasKolbass (?), 27-Авг-25, 21:23 | +/– | ![]() |
Было бы лучше если бы компилятор после каждого include-включения сам добавлял перевод строки | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #18 |
27. Сообщение от Аноним (8), 27-Авг-25, 21:24 | +/– | ![]() |
Это не так работает. UB - это "слишком сложно, непонятно что делать, нужны доп. сведения". А то что в новости - это "хз че это, Васян, фиг разберешься, давай напишем что UB, фиг кто разберется". | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #16 |
28. Сообщение от DasKolbass (?), 27-Авг-25, 21:33 | +1 +/– | ![]() |
А чем интересная и удобная? Наоборот, это противоестесственно для C++, потому что он не является языком модульного программирования. Организация исходного текста в C++ - блочная, и C++ никогда не откажется от этого, а попытка совместить блочную и модульную архитектуру ведёт к усложнению и неразберихе. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #24 Ответы: #30 |
29. Сообщение от Аноним (29), 27-Авг-25, 22:29 | +1 +/– | ![]() |
Вот flex обычно сегфолтится, если в конце файла нет новой строки. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #13 Ответы: #40 |
30. Сообщение от Аноним (30), 27-Авг-25, 22:30 | +2 +/– | ![]() |
Идея в том, чтобы избавиться от сишного наследия, которое уже плохо проявляет себя в крупных проектах. Опять же, время сборки ядра Линукса как пример, и все эти бесконечные header-only библиотеки. Быть может, через двадцать лет люди вовсе не будут знать, что такое хедеры. И это хорошо. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #28 Ответы: #32, #33 |
31. Сообщение от Аноним (33), 27-Авг-25, 22:41 | +/– | ![]() |
Я нуб. Подскажите, куда копать, чтобы сделать код на gcc с extended asm и всякими другими расширениями совместимым с clang? Extended asm поддерживается? Мб есть какой-то заголовочный файл, где расширения gcc типа __attribute__((packed)) объявляются как какие-то константы. Нашел кстати недоработку в extended asm. Было бы прикольно, если бы можно было вставить сегментный регистр переменной в памяти. Полезно, когда у тебя стек не flat и следовательно есть разница, в каком регистре хранится указатель. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #47 |
32. Сообщение от Аноним (32), 27-Авг-25, 22:50 | +1 +/– | ![]() |
> Опять же, время сборки ядра Линукса как пример, и все эти бесконечные header-only библиотеки. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #30 |
33. Сообщение от Аноним (33), 27-Авг-25, 22:59 | +/– | ![]() |
Это типа как в Паскале, да? Уже не первый раз встречаю такую штуку, когда кто то что то хейтит, а потом вдруг оказывается, что он не прав. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #30 Ответы: #34 |
34. Сообщение от Аноним (34), 27-Авг-25, 23:40 | +2 +/– | ![]() |
А разве Паскаль за модули хейтят? В первую очередь, за некраткость begin-end'ов. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #33 Ответы: #39 |
38. Сообщение от Аноним (38), 27-Авг-25, 23:52 | +/– | ![]() |
Так делают, 1С, Глагол, ДРАКОН вот только зачем они нужны остальному миру? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #14 Ответы: #45 |
39. Сообщение от Аноним (39), 28-Авг-25, 00:29 | +/– | ![]() |
> за некраткость begin-end'ов | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #34 Ответы: #44 |
40. Сообщение от Аноним (39), 28-Авг-25, 00:30 | +/– | ![]() |
вся суть сишников в одной фразе :) | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #29 |
41. Сообщение от neon1ks (ok), 28-Авг-25, 03:04 | +1 +/– | ![]() |
Это же Си, могу предположить, что каким-то чудом может через макросы получиться такая конструкция. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #1 |
42. Сообщение от Аноним (-), 28-Авг-25, 04:51 Скрыто ботом-модератором | +/– | ![]() |
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #13 |
43. Сообщение от Аноним (-), 28-Авг-25, 05:41 Скрыто ботом-модератором | +1 +/– | ![]() |
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #14 |
44. Сообщение от penetrator (?), 28-Авг-25, 06:11 | +/– | ![]() |
он привел реальный аргумент и перманентную причину | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #39 |
45. Сообщение от Голдер и Рита (?), 28-Авг-25, 07:02 | +/– | ![]() |
> ДРАКОН | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #38 |
46. Сообщение от Голдер и Рита (?), 28-Авг-25, 07:05 | +/– | ![]() |
Так вот же, делают: https://gitflic.ru/project/alekseinedoria/trivil-0 😉 | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #14 |
47. Сообщение от анонимммм (?), 28-Авг-25, 07:06 | +/– | ![]() |
Сгементный регистр же можно в памяти сохранить. Вариант mov такой точно есть. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #31 |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |