./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.20nb1, Package name: include-what-you-use-0.20nb1, 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: 748.25 KB

Version history: (Expand)


CVS history: (Expand)


   2023-11-08 14:21:43 by Thomas Klausner | Files touched by this commit (2377)
Log message:
*: recursive bump for icu 74.1
   2023-10-06 21:25:48 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
include-what-you-use: updated to 0.20

IWYU 0.20

[iwyu] Support IWYU pragma: export for forward-declarations
[iwyu] Silently break cycles in mappings instead of crashing
[iwyu] Require full type inside typeid()
[iwyu] Improve template reporting and resugaring
[iwyu] Improve reporting of explicit template instantiations
[iwyu] Fix a few crashers
[iwyu] Improve logging (many small fixes)
Abandon python2 for scripts in favor of python3
   2023-08-14 07:25:36 by Thomas Klausner | Files touched by this commit (1247)
Log message:
*: recursive bump for Python 3.11 as new default
   2023-07-18 16:11:18 by Nia Alarie | Files touched by this commit (35)
Log message:
devel: Adapt packages to use USE_(CC|CXX)_FEATURES
   2023-04-19 10:12:01 by Adam Ciarcinski | Files touched by this commit (2359) | Package updated
Log message:
revbump after textproc/icu update
   2022-11-23 17:21:30 by Adam Ciarcinski | Files touched by this commit (1878) | Package updated
Log message:
massive revision bump after textproc/icu update
   2022-11-14 19:53:25 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
include-what-you-use: updated to 0.19

IWYU 0.19
Compatible with Clang 15.

[iwyu] New --comment_style option to control verbosity of 'why' comments
[iwyu] New --regex option to select regex dialect
[iwyu] Add support for regex replacement in mappings
[iwyu] Add begin_keep/end_keep pragmas for protecting ranges of includes or \ 
forward-declares
[iwyu] Fix several crasher bugs for unusual inputs
[iwyu] More exhaustive handling of type aliases and enums
[iwyu] Recognize IWYU pragmas in CRLF source files
[iwyu] Respect configured toolchain on macOS (and overrides via -nostdinc++ + \ 
-isystem)
[fix_includes] Recognize namespace alias declarations
[mappings] Improve mappings for POSIX and libc headers
[cmake] Build now requires a C++17 compiler (as does LLVM)
[cmake] Support LLVM external project build (see README)
   2022-08-12 10:56:01 by pin | Files touched by this commit (2) | Package updated
Log message:
devel/include-what-you-use: llvm update