LINUX.ORG.RU

IWYU 0.21

 , iwyu


1

3

Вышел релиз IWYU (или include-what-you-use), программы позволяющей находить избыточные и предлагать недостающие #include в вашем коде на C/C++.

«Включать то, что используешь» означает следующее: для каждого символа (типа, переменной, функции или макроса), используемого в foo.cc, либо foo.cc, либо foo.h должны подключать .h-файл, экспортирующий объявление этого символа. Инструмент include-what-you-use – это программа для анализа #include исходных файлов с целью поиска нарушений этого подхода и выдачи рекомендаций для исправления. Программа использует библиотеки Clang и обычно релиз означает совместимость с новой версией Clang.

Основная цель include-what-you-use - удаление лишних #include. Для этого необходимо выяснить, какие #include не нужны в данном файле (как для .cc, так и для .h), и по возможности заменить #include на предварительное объявление.

Основные изменения

  • Совместимость с Clang 17.
  • Улучшен анализ псевдонимов типов (typedef и using).
  • Улучшен анализ псевдонимов пространств имен (namespace xyz = foobar).
  • Улучшена поддержка развернутых предварительных деклараций (typedef struct Foo Bar;).
  • Улучшить обработку «автокаста» и возвращаемых типов функций, особенно при работе со сложными шаблонными типами.
  • Добавлена новая прагма IWYU: always_keep, позволяющая пометить заголовок, что он всегда должен сохраняться, где бы он ни был включен.
  • Автоматическое использование сопоставлений для builtins libc++, если libc++ является активной стандартной библиотекой.
  • Улучшение сопоставлений для заголовков libc++ и posix.

>>> Подробности



Проверено: hobbit ()

Ответ на: комментарий от gns

Ну только что скорость сборки, да. Но это слабое оправдание.

Да нет, это основная причина, зачем эти мудули вообще нужны. Потому что сейчас какой-нибудь сраный Libreoffice собирается по два-три часа, и это просто позор.

Вот так вот сделал ты небольшое изменение в какой-нибудь из корневых модулей, от которых всё зависит, и можно идти домой, потому что сборка будет только к вечеру, если не завтра. Весело, да?

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Ну, если офис разобьют на модули и выловят все ошибки, с этим связанные, то оно и хорошо. Интересно будет посмотреть на результаты. Прошлые попытки реализовать precompiled headers чот не впечатлили.

gns ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.