The OpenNET Project / Index page

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

08.09.2017 10:46  Релиз набора компиляторов LLVM 5.0

После шести месяцев разработки представлен релиз проекта LLVM 5.0 (Low Level Virtual Machine) - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизации). Сгенерированный псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

Напомним, что в соответствии с новой нумерацией версий осуществлён уход от разделения значительных и функциональных выпусков. В каждом функциональном обновлении теперь меняется первая цифра (например, весной следующего года состоится релиз LLVM 6.0.0). Для обеспечения совместимости с существующими системами разбора номеров версий LLVM корректирующие обновления, как и раньше приводят к увеличению третьей цифры (5.0.1, 5.0.2, 5.0.3).

Из новых возможностей LLVM 5.0 отмечается полная реализация стандарта C++17, поддержка сопрограмм в C++, реализация GNU-расширения для неявного скалярного преобразования в вектор, новые оптимизации и средства диагностики ошибок.

Улучшения в Clang 5.0:

  • Поддержка расширения для использования сопрограмм в коде на C++ (пример кода). Для включения следует использовать опции "-fcoroutines-ts -stdlib=libc++";
  • Обеспечена полная поддержка стандарта C++17. Для активации режима C++17 следует использовать флаг "-std=c++17" ("-std=c++1z" оставлен для обеспечения совместимости);
  • Новые возможности для диагностики:
    • "-Wcast-qual" для проверки корректности приведения типов в Си-стиле для C++;
    • "-Wunused-lambda-capture" для выявления переменных, захваченных лямбда-выражением, но не используемых в теле лямбда-выражения;
    • "-Wstrict-prototypes" для выявления не-прототипных функций, определений блоков и типов в Си и Objective-C;
    • "-Wunguarded-availability" для информирования об использовании новых API, которые были представлены в системе, версия которой новее версии системы, заданной в качестве целевой. Также добавлен сокращённый вариант "-Wunguarded-availability-new", который охватывает проверку версий API, выпущенных после macOS 10.13, iOS 11, tvOS 11 и watchOS 4;
    • "-Wdocumentation" - позволяет использовать в комментариях директивы \param и \returns для задания типа указателя для блока или функции;
  • Добавлен новый флаг компилятора "--autocomplete" для вывода списка флагов и их аргументов для применения в системах автодополнения ввода;
  • Объявлены устаревшими и игнорируются флаги "-fslp-vectorize-aggressive" (заменён нормальным векторизатором SLP) и "-fno-slp-vectorize-aggressive" (данное поведение теперь всегда используется по умолчанию);
  • Добавлена новая pragma attribute для применения атрибута к нескольким декларациям;
  • Для языков Си++ и Си реализовано GNU-расширение для неявного скалярного преобразования в вектор. Пример преобразования скалярного значения в вектор (ко всем элементам вектора "a" будет прибавлено 5):
    
       typedef unsigned v4i32 __attribute__((vector_size(16)));
       v4i32 foo(v4i32 a) {
          return a + 5;
       }
    
  • Clang 5 станет последним выпуском, в котором по умолчанию используется режим "-std=gnu++98" при использовании совместимого с GCC драйвера clang++. Начиная со следующего выпуска будет применяться режим "-std=gnu++14" для совместимости с поведением новых выпусков GCC. Пользователям рекомендуется добавить в файлы сборки опции для явного определения используемой версии стандарта;
  • Устранена порция ошибок в реализации OpenCL, расширен тестовый набор для OpenCL, расширена диагностика, в руководство добавлена документация по OpenCL. Обеспечена поддержка расширения cl_khr_subgroups и атрибута intel_reqd_sub_group_size. В CIndex добавлены типы OpenCL;
  • В clang-format добавлена опция BreakBeforeInheritanceComma для подстановки разрывов после ":" и "," при определении класса. Опция включена по умолчанию при выборе стиля оформления кода Mozilla. Обеспечено выравнивание комментариев. Обеспечена автоматическая подстановка комменария с именем пространства имён в конце его определения;
    
       class MyClass
           : public X
           , public Y {
       };
    
       /* line 1
        * line 2
        */
    
       namespace A {
          int i;
          int j;
       } // namespace A
    
  • В Libclang обеспечена поддержка автодополнения кода для следующих конструкций C++: static_assert, alignas, constexpr, final, noexcept, override и thread_local. Добавлено автодополнения для членов зависимых классов;
  • В linter clang-tidy добавлена большая порция новых проверок, реализованы новые модули bugprone и hicpp;
  • В статическом анализаторе добавлена поддержка автоматического доказателя теорем Z3, созданного в Microsoft Research для верификации кода своих продуктов. По сравнению с предлагаемым по умолчанию доказателем теорем Z3 работает примерно в 15 раз медленнее, но позволяет обрабатывать более сложные запросы. Для включения Z3 требуется сборка с опцией "CLANG_ANALYZER_BUILD_Z3=ON" и указание флагов "-Xanalyzer -analyzer-constraints=z3";
  • Расширены возможности компонента UBSan (Undefined Behavior Sanitizer) с реализацией детектора неопределенного поведения, выявляющего во время выполнения программы ситуации, когда поведение программы становится неопределенным:
    • Добавлены и включены по умолчанию новые средства для проверки переполнения указателей (-fsanitize=pointer-overflow).
    • Реализованы проверки для определения нарушения аннотаций о значениях NULL (-fsanitize=nullability) в аргументах функций, операциях присвоения и значениях return.
    • Обеспечено определение некорректной загрузки из битовых полей (bitfields) и булевых наборов ObjC.
  • В биндингах для языка Python обеспечена поддержка обеих веток - Python 2 и Python 3.

Основные новшества LLVM 5.0:

  • В компоновщике LLD решены многие проблемы с совместимостью, реализован более читаемый формат сообщений об ошибках, добавлена опция "-Map" для вывода схемы с сопоставлением входных файлов с результирующим файлом, значительно ускорена работа опции "--gdb-index ", добавлена поддержка нестандартных перестановок R_X86_64_8 и R_X86_64_16, по умолчанию обеспечено заполнение добавочных блоков в текстовых сегментах инструкцией INT3 вместо нулевых байтов. Добавлены новые опции: -compress-debug-sections, -emit-relocs, -error-unresolved-symbols, -exclude-libs, -filter, -no-dynamic-linker, -no-export-dynamic, -no-fatal-warnings, -print-map, -warn-unresolved-symbols, -z nocopyreloc, -z notext, -z rodynamic;
  • В оптимизаторе циклов Polly, поддерживающем несколько техник оптимизации циклов и позволяющем организовать автоматическое распараллеливание кода с задействованием OpenMP, обеспечена поддержка компиляции всех компонентов платформы Android и пакета FFMPEG;
  • Представлена новая библиотека BinaryFormat, в которую перемещены определения структуры file_magic и функций identify_magic, а также структур и определений для форматов DWARF, ELF, COFF, WASM и MachO;
  • Утилита llvm-pdbdump переименована llvm-pdbutil, так как она уже давно переросла из программы для дампа содержимого PDB в полноценный инструмент диагностики и манипуляции содержимым PDB;
  • Удалена стадия векторизации BBVectorize, на смену которой пришёл векторизатор SLP;
  • Добавлена утилита opt-viewer.py для визуализации сведений о выполненных оптимизациях в формате HTML на основании YAML-отчёта, генерируемого опцией "-fsave-optimization-record";
  • Добавлен новый CMake-макрос LLVM_REVERSE_ITERATION;
  • Добавлена утилита llvm-dlltool для создания коротких библиотек импорта из файлов с определениями в стиле GNU. Поддерживаются форматы импорта PE COFF SPEC Import Library и PE COFF Auxiliary Weak Externals;
  • Для архитектуры x86 добавлена поддержка CPU Intel Goldmont, реализован планировщик для CPU AMD Ryzen (znver1), обеспечено более агрессивное развёртывание (inlining) вызовов memcmp. Добавлена поддержка инструкций AMD Lightweight Profiling (LWP), avx512vpopcntdq и инструкций AVX512 для ротации векторов. Добавлена возможность трассировки процессов и core-файлов NetBSD в одном потоке LLDB;
  • В бэкенд AMDGPU добавлена поддержка архитектуры Radeon GFX9, используемой в GPU Vega;
  • Внесены многочисленные улучшения в бэкенды для архитектур AArch64, ARM, AVR, MIPS и PowerPC, в том числе добавлена поддержка инструкций ARMv 8.1, 8.2 и 8.3, большой порции расширений POWER ISA 3.0, MIPS MT ASE и оптимизаций размера для microMIPS.


  1. Главная ссылка к новости (http://lists.llvm.org/pipermai...)
  2. OpenNews: Релиз набора компиляторов LLVM 4.0
  3. OpenNews: Создатель LLVM и Swift уходит из компании Apple
  4. OpenNews: Проект LLVM переходит на новую схему нумерации выпусков
  5. OpenNews: Проект LLVM планирует сменить лицензию
  6. OpenNews: LLVM и Clang включены в основной состав OpenBSD
Лицензия: CC-BY
Тип: Программы
Ключевые слова: llvm, compile, clang
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 11:04, 08/09/2017 [ответить] [смотреть все]
  • +/
    Теперь будут номер инкрементировать каждые полгода ... весь текст скрыт [показать]
     
     
  • 2.2, Аноним, 11:18, 08/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +3 +/
    Да, судя по "весной следующего года состоится релиз LLVM 6.0.0".
     
  • 2.3, Andrey Mitrofanov, 11:18, 08/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –4 +/
    Они уже совсем Большие и GCC-совместимые http www opennet ru openforum vsluhf... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.8, Аноним, 11:53, 08/09/2017 [^] [ответить] [смотреть все]  
  • +/
    Помнится кое-кто раньше все твердил, что CLANG никогда даже близко не сравнится ... весь текст скрыт [показать]
     
     
  • 4.9, КО, 12:04, 08/09/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Кто ж мог подозревать, что в компилятор, единственным преимуществом которого дек... весь текст скрыт [показать]
     
     
  • 5.13, Аноним, 12:14, 08/09/2017 [^] [ответить] [смотреть все]  
  • +/
    То есть вы уверены - что это декларировалось как единственное преимуществом ... весь текст скрыт [показать]
     
     
  • 6.19, Andrey Mitrofanov, 13:11, 08/09/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Да, пусть Лишь бы здорове W CLA FSF-у под для GPLv3 отписали ... весь текст скрыт [показать]
     
  • 5.14, iPony, 12:28, 08/09/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Компиляция и статистический анализ - это вещи разные К тому же непонятна сходу ... весь текст скрыт [показать]
     
     
  • 6.15, Аноним, 12:37, 08/09/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    > статистический анализ

    статический

     
  • 4.18, Andrey Mitrofanov, 13:09, 08/09/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Да, теперь шлангистам есть, чем ответить они усиленно форсят сравнение Очень л... весь текст скрыт [показать]
     
     
  • 5.21, Аноним, 13:26, 08/09/2017 [^] [ответить] [смотреть все]  
  • +/
    Так это были вы что ли А то я уже забыл, кто именно А еще помнится, кто-то вна... весь текст скрыт [показать]
     
     
  • 6.22, Andrey Mitrofanov, 13:59, 08/09/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Сам придумал, сам поспорил Сам-о-стоятеный Вы не понимаете, над Вами смеются ... весь текст скрыт [показать]
     
     
  • 7.23, Аноним, 14:15, 08/09/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Боитесь, что про вас плохо подумают Про тех, кто плохо думет, не разбираясь, об... весь текст скрыт [показать]
     
  • 7.27, Михрютка, 20:05, 08/09/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    Митрофанов, вы что-то сегодня рановато газовать начали какой gpl код, кто переп... весь текст скрыт [показать]
     
     
  • 8.34, Andrey Mitrofanov, 22:55, 08/09/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Мозги совсем пропил, проецирующий, родной wiki freebsd org GPLinBase --- пьяны... весь текст скрыт [показать]
     
  • 7.35, АнонимныйБобр67, 23:00, 08/09/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    MIT, BSD for-ever Нет gpl Ограничивать свободу ради свободы - это то ещё извра... весь текст скрыт [показать]
     
     
  • 8.37, Andrey Mitrofanov, 23:09, 08/09/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Ты пишешь это с xBSD А то и с macos-x Чем докажешь _Тебе_-то во вред И др... весь текст скрыт [показать]
     
     
  • 9.44, Аноним, 10:17, 09/09/2017 [^] [ответить] [смотреть все]  
  • +/
    Здесь уже Андреи Митрофановы пытаются подражать Анониму И судя по количеств... весь текст скрыт [показать]
     
  • 9.47, Аноним, 15:28, 09/09/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    в сортире или где посмотри наконец-то статистику - под MIT BSDL X11 Apache соз... весь текст скрыт [показать]
     
     
  • 10.63, Andrey Mitrofanov, 12:47, 12/09/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Да Твоя голова -- очередной тому пример Враньё Оно же -- статистика от прихво... весь текст скрыт [показать]
     
  • 3.28, yet another anonymous, 20:06, 08/09/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Что совсем Большие --- это точно Не затруднит размер этого дела для публики о... весь текст скрыт [показать]
     
  • 2.6, пох, 11:46, 08/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    инвест финансовые спекулянты по другому не понимают А жрать разработчикам что... весь текст скрыт [показать] [показать ветку]
     
  • 1.4, Andrey Mitrofanov, 11:29, 08/09/2017 [ответить] [смотреть все]  
  • –2 +/
    >GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода),

    Скромные, работящие ребяты. Мо-лод-цы.

    Очень мажорно и пятнично. Ура.

    > -  В статическом анализаторе добавлена поддержка автоматического доказателя теорем Z3
    > созданного в  Microsoft Research для верификации кода своих продуктов. По
    > сравнению с предлагаемым по умолчанию доказателем теорем Z3 работает примерно в
    > 15 раз медленнее, но позволяет обрабатывать более сложные запросы. Для включения

    Ужо-то GPLv3+ - ники-то обзавидуются![I]1[/I]  Микрософт!1111  Невиданный успех и прорыв.

    ...
    > архитектуры x86 добавлена поддержка CPU Intel Goldmont,

    "Что такое 'сколопендра', я не знаю. Но звучит красиво!"

     
     
  • 2.10, leap42, 12:10, 08/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    сколопендра - это многоножка, если от Msft, то человеческая :-D
     
     
  • 3.20, Andrey Mitrofanov, 13:20, 08/09/2017 [^] [ответить] [смотреть все]  
  • +/
    Надо прекращать писать на опенет Говорят, мазги разжижает https www anekd... весь текст скрыт [показать]
     
     
  • 4.29, Михрютка, 20:06, 08/09/2017 [^] [ответить] [смотреть все]  
  • +/
    закусывать надо, Митрофанов, закусывать ... весь текст скрыт [показать]
     
  • 2.17, trolleybus, 12:52, 08/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Мажорно и пятнично - потому что 5-я мажорная версия?
     
  • 1.7, A.Stahl, 11:50, 08/09/2017 [ответить] [смотреть все]  
  • +/
    Пусть пилят. Даже мне, пользователю GCC, от них есть польза -- в моей любимой IDE кусок Шланга используется для реалтаймового парсинга кода.
     
     
  • 2.11, leap42, 12:12, 08/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    да и открытые драйвера на видео (кроме intel) активно его используют
     
  • 2.41, Аноним, 05:28, 09/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Местным аналитикам, все что не жпл то враг народа...
     
  • 1.12, Michael Shigorin, 12:12, 08/09/2017 [ответить] [смотреть все]  
  • +/
    > GCC-совместимого

    Не хватает звёздочки и мелкого шрифта: "только вложенные функции и VLA будут примерно никогда".

     
     
  • 2.24, Аноним84701, 16:17, 08/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Да есть оно variable length arrays там И для сишного 8211 поддержка С99 вс... весь текст скрыт [показать] [показать ветку]
     
  • 2.26, Ordu, 20:03, 08/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Вложенные функции в C требуют исполняемого стека Или ещё какой-то ёмкости, кото... весь текст скрыт [показать] [показать ветку]
     
  • 2.31, KonstantinB, 20:39, 08/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Честно говоря, вообще не понимаю смысла во вложенных функциях в С Единственное,... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.38, Александро, 23:37, 08/09/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    Честно говоря, вообще не понимаю смысла во вложенных функциях в С Единственное... весь текст скрыт [показать]
     
     
  • 4.49, KonstantinB, 16:31, 09/09/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Я программирую в основном на языках, где есть полноценные замыкания Польза от н... весь текст скрыт [показать]
     
     
  • 5.60, Alexandro, 11:01, 11/09/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    фложенная функция видит контекст своего вызова - локальные переменные функции-ро... весь текст скрыт [показать]
     
     ....нить скрыта, показать (6)

  • 1.16, Аноним, 12:39, 08/09/2017 [ответить] [смотреть все]  
  • +3 +/
    >  bugpron

    хехе, pron

     
  • 1.30, Аноним, 20:23, 08/09/2017 [ответить] [смотреть все]  
  • –1 +/
    Правильно ли я понял, что теперь можно на лету компилировать C C код и интерпр... весь текст скрыт [показать]
     
     
  • 2.32, all_glory_to_the_hypnotoad, 22:39, 08/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    теперь это когда?
     
  • 2.33, Онаним, 22:55, 08/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Вот-вот, и я о том же подумал.
     
     
  • 3.36, Аноним, 23:01, 08/09/2017 [^] [ответить] [смотреть все]  
  • +/
    С другой стороны непонятно почему бы не взять Lua, Python или любимый AST интер... весь текст скрыт [показать]
     
  • 1.39, Аноним, 00:02, 09/09/2017 [ответить] [смотреть все]  
  • +/
    Кто-нибудь использует LLVM под Windows Я скачал официальные бинари clang, попр... весь текст скрыт [показать]
     
     
  • 2.50, Led, 17:58, 09/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Вендузятник должен страдать ... весь текст скрыт [показать] [показать ветку]
     
  • 1.40, Вареник, 05:24, 09/09/2017 [ответить] [смотреть все]  
  • –1 +/
    Отлично! Нужная вещь. Ждемс в бэкпортах.
     
     
  • 2.43, Аноним, 07:39, 09/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    http://apt.llvm.org/
     
     
  • 3.55, Вареник, 01:50, 10/09/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Спасибо Хотя их и так перекладывают в стандартные бэкпорты, но с задержкой ... весь текст скрыт [показать]
     
  • 1.42, Аноним, 05:33, 09/09/2017 [ответить] [смотреть все]  
  • –1 +/
    А при помощи Clang можно скомпилировать ядро Линукса Невозможно А вот, коллекц... весь текст скрыт [показать]
     
     
  • 2.45, Аноним, 11:08, 09/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Он не может компилировать только потому что разработчики ядра решили использоват... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.54, Вареник, 01:48, 10/09/2017 [^] [ответить] [смотреть все]  
  • +/
    Скорей баги, чем возможности.
     
  • 2.46, Аноним, 15:25, 09/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    если у разработчиков ядра - не хватает мозгов использовать только стандарт языка... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.51, пох, 18:18, 09/09/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    gnu расширения в llvm в общем сохранены Баги, из-за которых компилируется в при... весь текст скрыт [показать]
     
  • 2.53, Аноним, 23:21, 09/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Это называется вендорлок, чувак. Такая вот типасвобода.
     
  • 2.56, Аноним, 02:12, 10/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А ядро фрибзди компилируется как шлангом, так и gcc Какие нетривиальные выводы ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.57, пох, 19:53, 10/09/2017 [^] [ответить] [смотреть все]  
  • +/
    а давно пробовали А запустить скомпилированное На x86 архитектуре world WITHO... весь текст скрыт [показать]
     
     
  • 4.58, Аноним, 21:31, 10/09/2017 [^] [ответить] [смотреть все]  
  • +/
    А где-то с полгодика назад И да, запустилось и проработало с пару неделек Про... весь текст скрыт [показать]
     
     
  • 5.59, пох, 09:36, 11/09/2017 [^] [ответить] [смотреть все]  
  • +/
    > Про мир я в курсе

    хотя, казалось бы - должно быть ровно наоборот - уж если где и быть подобным граблям, то уж никак не в коде bin/ls. Аднакаж...

    (специально для проспавших первый урок, которые щас набигут - нет, это не код плохой, это gcc в freebsd 4.2.1 2007го года, последний с еще не анально-огороженной лицензией, сейчас уже неудивительно, что люди перестают специально обращать внимание на совместимость с его багами)

     
     
  • 6.61, Аноним, 15:19, 11/09/2017 [^] [ответить] [смотреть все]  
  • +/
    LLVM Не собирается шлангом Ну и шланго-специфические опции типа -fsanitize sa... весь текст скрыт [показать]
     
     
  • 7.62, Аноним, 15:21, 11/09/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    > LLVM. Не собирается GCC.
     
  • 7.64, пох, 13:48, 12/09/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    > LLVM. Не собирается шлангом. [gcc'ем на самом деле]

    ну так у большинства, полагаю, WITHOUT для того и был, чтобы LLVM и не [пере]собирать - поскольку он плюсовый, то его пересборка даже на мощном ядре занимает дофига времени, процентов 80 от общего world, а не потому что мы за мир во всем мире и против проклятых проприетарастов.

    сейчас, увы, пользы от WITHOUT_CLANG/LLVM около нуля.

     
  • 1.65, adolfus, 00:58, 14/09/2017 [ответить] [смотреть все]  
  • –1 +/
    > Поддержка расширения для использования сопрограмм в коде на C++ (пример кода).

    Ужас какой-то. Интересно посмотреть на код, который будет сгенрирован в результате.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor