./devel/include-what-you-use, Analyze #includes in C and C++ source files

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.22nb3, Package name: include-what-you-use-0.22nb3, Maintainer: pkgsrc-users

"Include what you use" means this: for every symbol (type, function
variable, or macro) that you use in foo.cc, either foo.cc or foo.h
should #include a .h file that exports the declaration of that symbol.
The include-what-you-use tool is a program that can be built with the
clang libraries in order to analyze #includes of source files to find
include-what-you-use violations, and suggest fixes for them.

The main goal of include-what-you-use is to remove superfluous #includes.
It does this both by figuring out what #includes are not actually needed for
this file (for both .cc and .h files), and replacing #includes with
forward-declares when possible.


Required to run:
[lang/clang] [lang/python37]

Required to build:
[pkgtools/cwrappers] [lang/gcc5]

Master sites:

Filesize: 778.009 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-14 23:22:33 by Thomas Klausner | Files touched by this commit (2429)
Log message:
*: recursive bump for icu 76 shlib major version bump
   2024-11-01 13:55:19 by Thomas Klausner | Files touched by this commit (2426)
Log message:
*: revbump for icu downgrade
   2024-11-01 01:54:33 by Thomas Klausner | Files touched by this commit (2427)
Log message:
*: recursive bump for icu 76.1 shlib bump
   2024-08-25 08:19:21 by Thomas Klausner | Files touched by this commit (575)
Log message:
*: replace CMAKE_ARGS with CMAKE_CONFIGURE_ARGS
   2024-07-06 17:49:47 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
include-what-you-use: updated to 0.22

0.22
Compatible with Clang 18.

Major changes:

[iwyu] Improve type analysis for typedefs, aliases and templates
[iwyu] Improve analysis of macros expanding macros
[iwyu] Improve IWYU driver for better validation and job handling
[iwyu] Reject IWYU invocations with precompiled headers (see FAQ)
[iwyu_tool] Better preserve failure exit codes
[mappings] Add mappings for libstdc++ <debug/...> headers
[mappings] Make mappings for POSIX and standard C headers stricter (more portable)
[doc] Add separate FAQ page for longer descriptions
[ci] IWYU now runs on itself in CI (finally!)
   2024-05-29 18:35:19 by Adam Ciarcinski | Files touched by this commit (1929) | Package updated
Log message:
revbump after icu and protobuf updates
   2024-04-22 09:48:47 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
include-what-you-use: updated to 0.21

iwyu 0.21 compatible with llvm+clang 17 is released. Major changes:

[iwyu] Improve analysis of type aliases (typedef and using)
[iwyu] Improve analysis of namespace aliases (namespace xyz = foobar)
[iwyu] Improve support for elaborated forward declarations (typedef struct Foo Bar;)
[iwyu] Improve handling of "autocast" and function return types, \ 
particularly with complex template types.
[iwyu] Add new IWYU pragma: always_keep, which lets a header announce that it \ 
should always be kept wherever included
[iwyu] Automatically use builtin libc++ mappings if libc++ is the active \ 
standard library
[mappings] Improve mappings for libc++ and posix headers
   2023-11-08 14:21:43 by Thomas Klausner | Files touched by this commit (2377)
Log message:
*: recursive bump for icu 74.1